2017.05.06 记雏鹰博客系统开工第4天。
来源:互联网 发布:软件实施人员基本素质 编辑:程序博客网 时间:2024/06/05 02:22
嗯,前面几天太忙。明天又要去加班。苦逼的程序员。话不多说,开始!
今日目标:Mybatis搭建。
步骤一:在pom.xml中添加以下代码:
<mysql.version>5.1.38</mysql.version><mybatis.vision>3.2.8</mybatis.vision><mybatis-spring.version>1.2.2</mybatis-spring.version><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version></dependency><!-- 添加mybatis/spring整合包依赖 --><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${mybatis-spring.version}}</version></dependency><!--DataBase connector--><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version></dependency>
步骤二:在resources/sping文件夹下,添加spring-config-mybatis.xml文件如下,添加完成后添加缺失的各目录及文件,此处仅以spring-config-mybatis.xml为例,详见雏鹰开发附件2– Mybatis相关xml配置。
spring-config-mybatis.xml<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:properties/jdbc.properties"/></bean><!-- 配置mybatis --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--要映射类的包路径,如果使用了这种方式,则configLocation中不必再进行声明--> <property name="typeAliasesPackage" value="com.simon.pojo"/> <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/> <!-- mapper扫描 --> <property name="mapperLocations" value="classpath*:mybatis/mapper/*.xml"/></bean><bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg ref="sqlSessionFactory" index="0"/></bean>
步骤三:加入连接池相关配置:
pom.xml:<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.11</version></dependency>
步骤四:创建User相关类和包,测试Mybatis是否配置成功:
问题1:发现了一个小问题,使用@Component后再用@Autowired找不到类,经过排查,发现Spring中没有配置扫描器,于是在Spring-config.xml中做如下更改后,问题解决:
<!-- 导入外部的properties文件 --><context:property-placeholder location="classpath:properties/jdbc.properties"/><!-- 启动组件扫描,排除@Controller组件,该组件由SpringMVC配置文件扫描 --><context:component-scan base-package="com.simon"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan>
问题2:java.lang.IllegalArgumentException: Property ‘dataSource’ is required,呐,这个问题就很明显了,粗心咯,代码中少加一句话。在spring-config-mybatis.xml中更改以下语句:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="typeAliasesPackage" value="com.simon.pojo"/><!--要映射类的包路径,如果使用了这种方式,则configLocation中不必再进行声明--> <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/> <!-- mapper扫描 --> <property name="mapperLocations" value="classpath*:mybatis/mapper/*.xml"/></bean>改为<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="typeAliasesPackage" value="com.simon.pojo"/><!--要映射类的包路径,如果使用了这种方式,则configLocation中不必再进行声明--> <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/> <!-- mapper扫描 --> <property name="mapperLocations" value="classpath*:mybatis/mapper/*.xml"/> **<property name="dataSource" ref="dataSource_blog"/>**</bean>
问题3:数据库中有数据,而查询的时候却有部分数据是空,为什么呢。经网上查询,原来Mybatis对下划线是不太支持的,只能转为驼峰,需要在mybatis-config.xml中加入以下代码,即可:
问题截图:
<!-- 使用驼峰命名法转换字段。 --><setting name="mapUnderscoreToCamelCase" value="true"/>
问题4:乱码!!!!!在spring-mvc.xml中加入如下代码即可解决:
问题截图:
<mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters></mvc:annotation-driven>
测试结果:
总结:Mybatis框架的搭建,比我想象中的难,这次竟用了近三个小时,也许可能是我中间不专心的缘故吧。总之还算顺利,动手能力仍需加强啊。
明日目标:Ecache和log4j的添加,最大限度完成登录页面
- 2017.05.06 记雏鹰博客系统开工第4天。
- 2017.05.02 记雏鹰博客系统开工第3天。
- 2017.04.26 记雏鹰博客系统开工第2天。
- 2017.04.25 记雏鹰博客系统开工日。
- 博客开工
- 今天博客建设开工!
- 小博客开工啦
- 个人博客开工了
- 新年开工第一篇
- 开工第一篇
- 新年开工第一天
- 开工第一天
- 开工第一天
- 我的博客开工了
- 我的开工第一篇
- 新年开工第一天 ^_^
- 正式开工的第一天
- 记录android开工第一天
- LeetCode_62、63、64三题(动态规划)
- 字母所有的排列方式
- CCF NOI1069 分解因数
- 自定义一个转换器
- 【其他】论文框架
- 2017.05.06 记雏鹰博客系统开工第4天。
- 外边距失效bug
- ZOJ3944-People Counting
- spring中输入输出json数据
- 重写覆盖、重载、多态几个概念的区别分析
- eclipse出现 Some characters cannot be mapped using "GBK" character encoding 错误代码的解决办法
- Huffman文件压缩
- 欢迎使用CSDN-markdown编辑器
- 数据结构简介