pom.xml
导入jdbc和mybatis的依赖包
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
JDBC连接数据库
首先在application.properties的配置文件中导入数据库的相关信息
# 数据库驱动:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 数据源名称
spring.datasource.name=anniversary
# 数据库连接地址
spring.datasource.url=jdbc:mysql://localhost:3306/anniversary?serverTimezone=Asia/Shanghai&useUnicode=True&characterEncoding=utf-8
# 数据库用户名&密码:
spring.datasource.username=anniversary
spring.datasource.password=123456
配置完成后,springboot会进行自动装配,此时就直接将数据库作为bean对象放入了ioc容器中,在Test类中进行测试
@SpringBootTest
class Springboot05MybatisApplicationTests {
@Autowired
DataSource dataSource;
//测试连接
@Test
void contextLoads() throws SQLException {
System.out.println(dataSource.getClass());
System.out.println(dataSource.getConnection());
}
}
整合Mybatis
创建实体类User
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Integer id;
private String username;
private String password;
private String name;
}
创建UserMapper的接口
//注解表示这是一个mybaits下的一个mapper类
@Mapper
@Repository
public interface UserMapper {
List<User> queryUserList();
}
这里的@Mapper注解是提示这是mtbatis下的一个Mapper类,@Repository是完成DI注入。
在resource下编写UserMapper.xml的配置文件,写法和之前的mybatis一样。
<?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="com.example.mapper.UserMapper">
<select id="queryUserList" resultType="User">
select * from anniversary.qq_user
</select>
</mapper>
在application.properties下完成整合Mybatis。
#整合mybatis
mybatis.type-aliases-package=com.example.pojo
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
编写Controller进行测试
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@RequestMapping("/queryUserList")
public List<User> queryUserList(){
List<User> users = userMapper.queryUserList();
return users;
}
}