SpringBoot 整合mybatis
1.创建一个project

2.在pow.xml中导入依赖
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
注这个依赖是不属于springboot官方底下的,它是自己研发的,提供整合
3.创建一个pojo文件夹,并在里面创建一个实体类User
package com.yao.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor //以上三个注解需要引入lombok依赖 public class User { private int id; private String name; private String pwd; }
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
4.创建mapper文件夹,并在里面放与mybatis相关的mapper文件

继续完善我们的mapper
package com.yao.mapper;
import com.yao.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper//表示本类是一个mybatis的mapper类
@Repository//dao层的注解
public interface UserMapper {
List<User> queryUserList();
User queryUserById(int id);
int addUser(User user);
int update(User user);
int delete(User user);
}
5.在resources文件夹下创建mapper文件夹,并在mapper文件夹下创建一个xml,编写xml
5.1

5.2
在mybatis官网--》入门下找到,并粘贴到你的mapper。xml中


但是我们这里发现这个UserMapper.xmlspringboot无法识别,而且还需要定义别名等等问题,因此需要在application.properties
中去整个mybatis
5.3在application.properties中整合mybatis

继续编写好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.yao.mapper.UserMapper">
<!--
<cache/>表示开启缓存
你也可以这样添加缓存:
<select id="queryUserList" resultType="User" userCache="true">
select * from user
</select>
这样表示这条查询会用一个固定的缓存,第二次查的时候就会从缓存里面去拿-->
<select id="queryUserList" resultType="User">
select * from user
</select>
<select id="queryUserById" resultType="Integer">
select * from user where id = #{id}
</select>
<insert id="addUser" parameterType="User">
insert into 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="deleteUser" parameterType="Integer">
delete from user where id = #{id}
</delete>
</mapper>
5.4创建controller
package com.yao.controller;
import com.yao.mapper.UserMapper;
import com.yao.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@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;
}
//根据id选择用户
@GetMapping("/selectUserById")
public String selectUserById(){
User user = userMapper.queryUserById(1);
System.out.println(user);
return "ok";
}
//添加一个用户
@GetMapping("/addUser")
public String addUser(){
userMapper.addUser(new User(10,"阿毛","456789"));
return "ok";
}
//修改一个用户
@GetMapping("/updateUser")
public String updateUser(){
userMapper.updateUser(new User(5,"阿毛","421319"));
return "ok";
}
//根据id删除用户
@GetMapping("/deleteUser")
public String deleteUser(){
userMapper.deleteUser(5);
return "ok";
}
}

浙公网安备 33010602011771号