Spring Boot學習筆記(四)與mybatis的合體
阿新 • • 發佈:2018-12-22
1.pom.xml的配置(spring boot配置已有)
驅動包、連線池(還不知道啥意思),org.mybatis.spring.boot, 日後補足吧。
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.12</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency>
2. 建立對映xml的Dao類檔案(注意是@Mapper),寫@Repository的話要自己寫和對映檔案的配置。
package org.test.dao; import org.apache.ibatis.annotations.Mapper; import org.test.entity.TestTable; import java.util.List; @Mapper public interface TestTableDao { List<TestTable> findAll(); void insert (TestTable testTable); }
3. 新建mybatis對映檔案(mapping) 注意namespace是上面Dao類的名稱空間
<?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="org.test.dao.TestTableDao"> <select id="findAll" resultType="testTable"> select id,`name` from testtable </select> <insert id="insert" parameterType="TestTable"> insert into testtable(`name`)value(#{name}) </insert> </mapper>
4. Service和Controll層都沒變化。
5. 要在springboot的配置檔案中增加資料庫連線配置和mybatis的配置
資料庫連線注意時區、中文亂碼、useSSL驗證、多行操作等配置。
server:
port: 8080
spring:
datasource:
name: test
url: jdbc:mysql://localhost:3316/demo?useSSL=false&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&allowMultiQueries=true
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
mapper-locations: classpath:mapping/*.xml #對應mapper對映xml檔案的所在路徑
type-aliases-package: org.test.entity # 對應實體類的路徑
6. 遇到的自坑問題
提示語法錯,還是得仔細看看語法