1. 程式人生 > >Spring Boot學習筆記(四)與mybatis的合體

Spring Boot學習筆記(四)與mybatis的合體

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. 遇到的自坑問題

提示語法錯,還是得仔細看看語法