You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// resources/mapper/userDao.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPEmapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mappernamespace="com.mike.study.springbootdemo.dao.UserDao">
<resultMaptype="com.mike.study.springbootdemo.entity.User"id="userResult">
<idcolumn="id"property="id" />
<resultproperty="name"column="name"/>
<resultproperty="age"column="age"/>
</resultMap>
<selectid="findAllUsers"resultMap="userResult">
select * from user
</select>
<insertid="insertUser"parameterType="com.mike.study.springbootdemo.entity.User">
insert into user(name,age) values(#{name},#{age})
</insert>
<updateid="updateUser"parameterType="com.mike.study.springbootdemo.entity.User">
update user set name=#{name},age=#{age} where id=#{id}
</update>
<deleteid="deleteUser"parameterType="int">
delete from user where id=#{id}
</delete>
</mapper>
mapper接口编写
// dao/UserDao.java
package com.mike.study.springbootdemo.dao;
import com.mike.study.springbootdemo.entity.User;
import java.util.List;
public interface UserDao {
/**
* 查询所有用户
* @return
*/
List<User> findAllUsers();
/**
* 添加用户
* @param user
* @return
*/
int insertUser(User user);
/**
* 修改用户
* @param user
* @return
*/
int updateUser(User user);
/**
* 删除用户
* @param user
* @return
*/
int deleteUser(User user);
}
启动文件中配置容器注入扫描路径
package com.mike.study.springbootdemo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.mike.study.springbootdemo.dao") //自动注入UserDao
public class SpringBootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootDemoApplication.class, args);
}
}
实体
// entity/User.java
package com.mike.study.springbootdemo.entity;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
public class User {
private Integer id;
@NotEmpty
private String name;
@NotNull
private Integer age;
public Integer getId() {
return id;
}
public String getName() {
return name;
}
public Integer getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(Integer age) {
this.age = age;
}
}
控制器调用
package com.mike.study.springbootdemo.controller;
import com.mike.study.springbootdemo.dao.UserDao;
import com.mike.study.springbootdemo.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class MybatisDemo {
@Autowired
private UserDao userDao;
@GetMapping("/users/mybatis/queryAll")
public List<User> findAllUsers() {
return userDao.findAllUsers();
}
@PostMapping("/users/mybatis/insert")
public Boolean insertUser(@RequestBody @Validated User user) {
return userDao.insertUser(user) > 0;
}
@PostMapping("/users/mybatis/update")
public Boolean updateUser(@RequestBody User user) {
return userDao.updateUser(user) > 0;
}
@PostMapping("/users/mybatis/delete")
public Boolean deleteUser(@RequestBody User user) {
return userDao.deleteUser(user) > 0;
}
}