SpringBoot整合Mybatis
SpringBoot整合Mybatis
1. 创建SpringBoot项目 选择相关的依赖
pop.xml 依赖包
<!--lombok插件简化开发-->
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--mybatis 整合-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<!--web模块-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mysql连接-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>compile</scope>
</dependency>
<!--test模块-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
2. 创建数据库表
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(20) NOT NULL,
`name` varchar(30) NOT NULL,
`pwd` varchar(30) NOT NULL,
`perms` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3. 项目的总体结构
4. application.properties配置
#连接数据库
spring.datasource.username=root
spring.datasource.password=1234
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#整合mybatis
#别名
mybatis.type-aliases-package=com.xizi.pojo
#mapper.xml位置
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
5. 实体层编写
package com.xizi.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Integer id;
private String name;
private String pwd;
}
6. Mapper接口编写
package com.xizi.mapper;
@Mapper
@Repository
public interface UserMapper {
//查询所有的用户
List<User> queryUserList();
//根据Id查询用户
List<User> queryUserById(Integer id);
//添加用户
void addUser(User user);
//更新用户
void updateUser(User user);
//删除用户
void delete(Integer id);
}
7. xml文件编写
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xizi.mapper.UserMapper">
<select id="queryUserList" resultType="User">
select * from mybatis.user
</select>
<select id="queryUserById" resultType="User">
select * from user where id=#{id}
</select>
<insert id="addUser" parameterType="User">
insert into mybatis.user (id,name,pwd) values (#{id},#{name},#{pwd})
</insert>
<update id="updateUser" parameterType="User">
update user set name=#{name},pwd=#{pwd} where id=#{id}
</update>
<delete id="delete" parameterType="int">
delete from mybatis.user id=#{id}
</delete>
</mapper>
8. Controller层编写测试
package com.xizi.controller;
@RestController
public class UseController {
@Autowired
private UserMapper userMapper;
@GetMapping("/queryUserList")
public List<User> queryUserList(){
List<User> users = userMapper.queryUserList();
for (User user:users){
System.out.println(user);
}
return users ;
}
//添加一个用户
@GetMapping("/addUser")
public String addUser(){
userMapper.addUser(new User(4,"刘备","123456"));
return "ok";
}
//修改一个用户
@GetMapping("/updateUser")
public String updateUser(){
userMapper.updateUser(new User(4,"刘备","789123"));
return "ok";
}
//删除用户
@GetMapping("/deleteUser")
public String deleteUser(){
userMapper.delete(4);
return "ok";
}
}
9. 测试MyBatis
http://localhost:8080/queryUserList 测试接口 查询所有的用户信息
http://localhost:8080/addUser 测试添加用户
10. GitHub源码下载
https://github.com/Y960303802/SpringBoot-Mybatis.git