springboot整合Mybatis
项目结构:
所用依赖:
pom.xml
<!--mybatis-spring-boot-starter-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--jdbc-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
<version>5.1.39</version>
</dependency>
application.properties
# 应用名称
spring.application.name=demo-mybatis
# 数据库驱动:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 数据源名称
spring.datasource.name=defaultDataSource
# 数据库连接地址
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
# 数据库用户名&密码:
spring.datasource.username=root
spring.datasource.password=xxxxxx
#整合mybatis
mybatis.type-aliases-package=com.example.mybatis.pojo
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
User.java
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
//id
private int id;
//name
private String name;
}
UserMapper.java
//这个注解表示了这个是一个mybatis的mapper类:Dao
@Mapper
@Repository
public interface UserMapper {
//用户列表查询
List<User> queryUserList();
//用户单体查询
User queryUserById(int id);
//添加用户
int addUser(User user);
//更改用户
int updateUser(User user);
//删除用户
int deleteUser(int id);
}
UserController.java
@RestController
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;
}
//添加一个用户
@GetMapping("/addUser")
public String addUser(){
userMapper.addUser(new User(2,"ws"));
return "success";
}
// 修改一个用户
@GetMapping("/updateUser")
public String updateUser(){
userMapper.updateUser(new User(1,"ws"));
return "success";
}
// 根据id删除用户
@GetMapping("/deleteUser")
public String deleteUser(){
userMapper.deleteUser(2);
return "success";
}
}
UserMapper.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">
<mapper namespace="com.example.mybatis.mapper.UserMapper">
<select id="queryUserList" resultType="User">
select * from user
</select>
<select id="selectUserById" resultType="User">
select * from user where id = #{id}
</select>
<insert id="addUser" parameterType="User">
insert into user (id,name) values (#{id},#{name})
</insert>
<update id="updateUser" parameterType="User">
update user set name=#{name} where id = #{id}
</update>
<delete id="deleteUser" parameterType="int">
delete from user where id = #{id}
</delete>
</mapper>
整合完成!!!