学习SpringBoot 集成mybaties (参考纯洁的微笑) 记录其中遇到的问题

1. pom添加相关依赖 java

<!-- 集成mybaties-->
<dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
   <version>2.0.0</version>
</dependency>
<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
</dependency>

2.application.properties 增长数据库配置mysql

##########数据库链接###########
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

3.启动类,增长Mapper 的路径扫描spring

@MapperScan(value = "com.example.demo.mapper")

4.使用mybaties的2中方式,sql

    4.1 注解方式 数据库

public interface MemberMapper {
@Select(" select * from member where id = #{id}")
@Results({
        @Result(property = "id",  column = "id"),
        @Result(property = "userName", column = "user_name"),
        @Result(property = "passWord", column = "pass_word"),
        @Result(property = "email", column = "email"),
        @Result(property = "nickName", column = "nick_name"),
        @Result(property = "regTime", column = "reg_time"),

})
Member findById(@Param("id") Long id);
}

 

    4.2 xml 方式mybatis

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.example.demo.mapper.MemberMapper" >

    <!--查询当前用户-->
    <select id="selectUserById"  parameterType="java.lang.Long" resultType="com.example.demo.bean.Member">
        select * from member where id = #{id}
    </select>

</mapper>

这里,须要注意,xml对应的map路径namespace 里面,是否正确app

若是报错,说是mapper的xml没法找到spring-boot

2中解决url

1.须要时pom里面,配置spa

<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.xml</include>
        </includes>
    </resource>
</resources>
2.将mybaties的xml,放置在resources,在application.properties里面配置

mybatis.config-location=classpath:mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/*.xml

这样,方法就能够调用了,可是调用的时候,碰见一个问题,mybaties的驼峰设置,未开启,因此有的字段值,为null

进行配置

1.mybatis-config.xml 进行设置(放开注释)

<!--<settings>-->
    <!--<setting name="mapUnderscoreToCamelCase" value="true"/>-->
<!--</settings>-->

2.在application.properties里面配置,可是须要注意configuration' and 'configLocation'不能同时使用。不然报错

#mybatis.configuration.map-underscore-to-camel-case=true
相关文章
相关标签/搜索