SpringBoot(3)-整合mybaties
程序员文章站
2022-04-19 21:33:28
...
springBoot整合mybaties
1、首先创建spring-initial的maven的项目,勾选项目中的springweb框架的使用。
2、在项目中添加起步依赖:
<!--mybatis起步依赖-->
<!--这个起步依赖是由Mybaties提供的-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
3、添加数据库的连接驱动依赖:
<!--数据库的连接驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
4、需要在resource文件夹中添加链接数据库的资源文件:
# 数据库的连接信息:
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/pinyougoudb?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT
spring.datasource.username=root
spring.datasource.password=root
其中在配置数据源信息的时候,会出现
The server time zone value ‘???’ is unrecognized or represents more than one time zone.
的错误,该错误的产生是因为数据库的时区设置问题,需要调整时区:添加“&serverTimezone=GMT“即可;
5、既然要访问数据库,那么就应该创建数据库的一张表,并且先表示出该表格的pojo对象。
实体bean,也就是该表对应的牌pojo类:
public class User {
// 主键
private Long id;
// 用户名
private String username;
// 密码
private String password;
// 姓名
private String name;
//省略get和set方法,toString方法
}
6、需要创建mapper类:书写sql语句:
首先需要编写mapper的接口:也就是最简单的查询所有:注意一定要书写上@Mapper的注解,这样才能扫描到数据,往常的SSM框架没有在dao层接口上写注解;
@Mapper
public interface UserMapper {
List <User> queryUserList();
}
<?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="cmst.cug.mapper.UserMapper">
<select id="queryUserList" resultType="User">
select * from user
</select>
</mapper>
7、在application.properties中添加mybatis的信息
之前是在使用xml文件配置,在Spring中是将包扫描放在了properties中:也就是加载pojo和mapper映射文件
#spring集成Mybatis环境
#pojo别名扫描包
mybatis.type-aliases-package=cmst.cug.domain
#加载Mybatis映射文件
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
8、编写controller层:测试结果:
@Controller
public class MybatiesController {
@Autowired
private UserMapper userMapper;
@RequestMapping("/queryUser")
@ResponseBody
public List<User> queryUser(){
List<User> users = userMapper.queryUserList();
return users;
}
}
测试的结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fVDZkpNL-1570182650454)(img\3.png)]
= userMapper.queryUserList();
return users;
}
}
测试的结果:
![\[外链图片转存中...(img-fVDZkpNL-1570182650454)\]](https://img-blog.csdnimg.cn/20191004175130289.png)
9、后期写springboot+mybaties与ssm之间异同。