springboot-mybatis整合
一、快速创建一个springboot的项目
File -> new project -> spring initislizr -> java版本8 -> web项目 -> springweb项目
选:
Web->Spring Web
Sql->Mysql Driver JDBC API
二、配置数据库
java -> resources -> application.yaml中配置数据库(数据库名为Mysql)
spring:
datasource:
url: jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.jdbc.Driver
username: root
password: *******
application.properties中配置
spring.datasource.url=jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=*******
三、测试是否引入mybatis
Java -> test ->java->DemoApplicationTest下的DemoApplicationTests中
@Autowired
DataSource dataSource;
在contextLoads()下
System.out.println(getClass());
System.out.println(dataSource.getConnection());
启动运行:
说明连接成功
四、引入lambok依赖:
可以设置无参构造和有参构造
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lambok </artifactId>
</dependency>
在User实体类中写:
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int id;
private String name;
private String pwd;
}
五、创建mapper接口
@Mapper// 表示了mabatis的mapper类
@Repository // 被springboot整合
public interface UserMapper {
List<User> queryUserList();
}
六、sql语句编写
<?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-->
<mapper namespace="com.example.demo.mapper.UserMappers">
<select id="queryUserList" resultType="User">
select * from user
</select>
</mapper>
七、项目整合mybits配置
#整合mybits
//别名的包
mybatis.type-aliases-package=com.example.demo.pojo
//sql语句xml路径
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
mybatis.configuration.map-underscore-to-camel-case=true
八、controller层
@RestController // 整合到springboot
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/queryUserList")
public List<User> queryUserList(){
List<User> userList = userMapper.queryUserList();
for (User user:userList){
System.out.println(user);
}
return userList;
}
}