學習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
相關文章
相關標籤/搜索