- 导入MyBatis所需要的驱动和依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
- 编写配置文件
**注意:**springboot中默认数据库版本是8.0+,所以要配置时区:serverTimezone=UTC
application.yaml
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
type-aliases-package: com.yang.hellospringboot.pojo
mapper-locations: classpath:com/yang/hellospringboot/mapper/*.xml
application.properties
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.type-aliases-package= com.yang.hellospringboot.pojo
mybatis.mapper-locations: classpath:com/yang/hellospringboot/mapper/*.xml
- 建包controller,mapper,service,pojo
- 编写测试类
package com.yang.hellospringboot.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
@AllArgsConstructor
@Data
public class User {
private int id;
private String name;
private String pwd;
}
- 编写相应接口
package com.yang.hellospringboot.mapper;
import com.yang.hellospringboot.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface UserMapper {
// @Select("select * from user")
List<User> getUserLists();
}
- 编写controller实现类
package com.yang.hellospringboot.controller;
import com.yang.hellospringboot.mapper.UserMapper;
import com.yang.hellospringboot.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class MyBatisController {
@Autowired
private UserMapper userMapper;
@RequestMapping("/list")
public List<User> getUserLiist(){
List<User> userLists = userMapper.getUserLists();
return userLists;
}
}
- 测试
- 注解实现:
在SpringBootApplication
中采用注解实现
添加@MapperScan(" ")
扫描包下的接口
@MapperScan("com.yang.hellospringboot.mapper")
@SpringBootApplication
public class myApplication {
public static void main(String[] args) {
SpringApplication.run(myApplication.class,args);
}
}
- 配置xml实现
配置UserMapper.xml,启动主启动类
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yang.hellospringboot.mapper.UserMapper">
<select id="getUserLists" resultType="User">
select * from user;
</select>
</mapper>
如配置文件,没有在target中导出,需要配置资源过滤
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>