在resources包下创建mapping包然后创建UserMapper.xml
UserMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-////DTD Mapper 3.0//EN" "/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper">
<insert id="add" parameterType="com.example.demo.entity.User">
insert into user (name) values(#{name});
</insert>
<select id="selectUserById" resultType="com.example.demo.entity.User">
select id,name from user where id = #{value}
</select><select id="selectAll" resultType="com.example.demo.entity.User">
select * from user
</select>
<delete id="delete">
delete from user where id=#{id}
</delete>
<insert id="insertBatch">
insert into user (name) values
<foreach collection="users" item="user" separator=",">
(#{user.name})
</foreach>
</insert>
</mapper>
User.java
package com.example.demo.entity;
public class User {
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private Integer id;
private String name;
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
UserMapper.java
package com.example.demo.mapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Param;
import org.ponent;
import java.util.List;
/**
* @Author: hgy
* @DATE: /11/16
*/
@Component
public interface UserMapper {
/**
* 插入
* @param user
*/
public void add(User user);
/**
* 按id查询
* @param id
* @return
*/
public User selectUserById(Integer id);
/**
* 查询所有
* @return
*/
public List<User> selectAll();
/**
* 删除
* @param user
* @return
*/
public int delete(User user);
/**
* 批量插入
* @param users
*/
public void insertBatch(@Param("users") List<User> users);
}
UserService.java
package com.example.demo.service;
import com.example.demo.entity.User;
import java.util.List;
/**
* @Author: hgy
* @DATE: /11/16
*/
public interface UserService {
public String add(User user);
public User findUserById(Integer id);
public String delete(User id);
public String insertBatch(List<User> users);
public List<User> selectAll();
}
UserServiceImpl.java
package com.example.demo.service.impl;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Author: hgy
* @DATE: /11/16
*/
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public String add(User user) {
try {
userMapper.add(user);
return "插入成功";
} catch (Exception e) {
return "插入失败";
}
}
@Override
public User findUserById(Integer id) {
return userMapper.selectUserById(id);
}
@Override
public String delete(User id) {
try {
userMapper.delete(id);
return "删除成功";
}catch (Exception e){
return "删除失败";
}
}
@Override
public String insertBatch(List<User> users) {
try {
userMapper.insertBatch(users);
return "批量插入成功";
} catch (Exception e) {
return "批量插入失败";
}
}
@Override
public List<User> selectAll() {
return userMapper.selectAll();
}
}
UserController.java
package com.example.demo.controller;
import com.example.demo.dto.JsonResult;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Author: hgy
* @DATE: /11/16
*/
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
/*@RequestMapping("/addUser")
@ResponseBody
public String addUser(User user) {
return String.valueOf(userService.add(user));
}*/
@RequestMapping("/addUser")
@ResponseBody
public JsonResult addUser(User user) {
userService.add(user);
return JsonResult.success("插入成功",user);
}
@RequestMapping(value = "/findUserById",method = RequestMethod.GET)
@ResponseBody
public String findUserById(Integer id){
return userService.findUserById(id).toString();
}
@RequestMapping(value = "/selectAll",method = RequestMethod.GET)
@ResponseBody
public List<User> selectAll(){
return userService.selectAll();
}
/*@RequestMapping("/deleteUser")
@ResponseBody
public String deleteUser(User id) {
return userService.delete(id);
}*/
@RequestMapping("/deleteUser")
@ResponseBody
public JsonResult deleteUser(User id) {
userService.delete(id);
return JsonResult.success("删除成功");
}
@RequestMapping("insertBatch")
@ResponseBody
public String insertBatch(@RequestBody List<User > users ) {
return String.valueOf(userService.insertBatch(users));
}
}
application.properties配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username = root
spring.datasource.password = root
mybatis.mapper-locations=classpath:/mapping/*.xml
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo3</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo3</name>
<description>demo3</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>