springboot整合Mybatis
1. 引进mybatis依赖
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
2. 新建数据库springboot,并创建表user。
3. 配置application.yml文件
一定要注意yml的语法阿,一个空格也不能错!!递进方式也不能错!!
Spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC&characterEncoding=utf-8
username: root
password: mysql789
#整合mybatis
mybatis:
#mapper配置文件
mapper-locations: classpath:mapper/*.xml
#要映射的实体类
type-aliases-package: com.mybatis01.domain.User
#开启驼峰命名
configuration:
map-underscore-to-camel-case: true
4. 创建项目结构(controller、domain、mapper)
①在domain包中新建User类(因为比较懒,用了Lombok,@Data,@NoArgsConstructor
@AllArgsConstructor相当于创建了所有字段的get、set、toString方法,及无参、全参构造器)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int id;
private String name;
private String password;
}
②在Mapper类新建UserMapper接口(@Mapper声明此类是mapper类)
@Repository
@Mapper
public interface UserMapper {
//获取全部用户
List<User> userList();
}
③在controller包中新建UserController类
@RestController
public class UserController {
@Autowired
UserMapper userMapper;
@RequestMapping("/userList")
public List<User> userList(){
List<User> list = userMapper.userList();
for (User user : list){
System.out.println(user);
}
return list;
}
}
5. 在resources中新建mapper文件夹,并新建UserMapper.xml文件
编写xml文件
<?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">
<namespace要与mapper类的路径对应>
<mapper namespace="com.mybatis01.mapper.UserMapper">
<select id="userList" resultType="com.mybatis01.domain.User">
select * from user
</select>
</mapper>