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. 遇到的自坑问题
提示语法错,还是得仔细看看语法