SpringBoot批量新增,修改,删除
SpringBoot配置批量新增,修改,删除gitee地址:SpringBoot配置批量新增,修改,删除1. 目录结构2. maven依赖<parent><artifactId>spring-boot-starter-parent</artifactId><groupId>org.springframework.boot</groupId>
·
SpringBoot配置批量新增,修改,删除
gitee地址:SpringBoot配置批量新增,修改,删除
1. 目录结构
2. maven依赖
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.3.8.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
<mysql.version>5.1.47</mysql.version>
<druid.version>1.1.20</druid.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>io.easybest</groupId>
<artifactId>spring-data-mybatis-boot-starter</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
<!--mysql依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<!--druid连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
3. 配置文件application
server:
port: 8080
spring:
application:
name: batchOperation
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/batch_operation?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false
username: root
password: root
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.qq.entity
#用于mybatis在控制台打印sql日志
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
logging:
level:
com.qq.mapper: debug
4. entity
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author 黔程似景
* @description TODO
* @date 2021/12/9 21:53
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Integer id;
private String username;
private String sex;
private String address;
private String job;
public User(String username, String sex, String address, String job) {
this.username = username;
this.sex = sex;
this.address = address;
this.job = job;
}
}
5. service
import com.qq.entity.User;
import java.util.List;
public interface BatchUserService {
/**
* 批量添加
* @param list 批量数据
* @return 影响行数
*/
int insertList(List<User> list);
/**
* 批量修改
* @param list 批量数据
* @return 影响行数
*/
int updateList(List<User> list);
/**
* 批量删除
* @param list 删除所需要删除的数据
* @return 影响行数
*/
int deleteList(List<User> list);
/**
* 获取批量数据
* @return 获取数据集合
*/
List<User> getList();
}
import com.qq.entity.User;
import com.qq.mapper.BatchUserMapper;
import com.qq.service.BatchUserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* @author 黔程似景
* @description 批量操作数据
* @date 2021/12/9 21:51
**/
@Service
public class BatchUserServiceImpl implements BatchUserService {
@Resource
private BatchUserMapper batchUserMapper;
/**
* 批量添加
*
* @param list 批量数据
* @return
*/
@Override
public int insertList(List<User> list) {
return batchUserMapper.insertList(list);
}
/**
* 批量修改
*
* @param list 批量数据
* @return
*/
@Override
public int updateList(List<User> list) {
return batchUserMapper.updateList(list);
}
/**
* 批量删除
*
* @param list 删除所需要删除的数据
* @return 影响行数
*/
@Override
public int deleteList(List<User> list) {
return batchUserMapper.deleteList(list);
}
/**
* 获取批量数据
*
* @return 获取数据集合
*/
@Override
public List<User> getList() {
return batchUserMapper.getList();
}
}
6. mapper
import com.qq.entity.User;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* 批量添加数据
*/
public interface BatchUserMapper {
/**
* 批量添加
*
* @param list 添加数据
* @return 影响行数
*/
int insertList(List<User> list);
/**
* 批量修改
*
* @param list 修改数据
* @return 影响行数
*/
int updateList(List<User> list);
/**
* 批量删除
*
* @param list 删除数据集合
* @return 影响行数
*/
int deleteList(List<User> list);
/**
* 获取批量数据
*
* @return 获取数据集合
*/
@Select("select * from t_user")
List<User> getList();
}
<?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.qq.mapper.BatchUserMapper">
<!--批量新增-->
<insert id="insertList" parameterType="java.util.List">
insert into t_user(username , sex , address , job)
values
<foreach collection="list" item="item" index="index" separator=",">
<trim prefix=" (" suffix=")" suffixOverrides="," >
#{item.username},
#{item.sex},
#{item.address},
#{item.job}
</trim>
</foreach>
</insert>
<!--批量修改-->
<update id="updateList" parameterType="java.util.List">
update t_user
<trim prefix="set" suffixOverrides=",">
<trim prefix="username=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.username!=null">
when id=#{item.id} then #{item.username}
</if>
</foreach>
</trim>
<trim prefix="sex=case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.sex!=null">
when id=#{item.id} then #{item.sex}
</if>
</foreach>
</trim>
<trim prefix="address=case" suffix="end," >
<foreach collection="list" item="item" index="index">
<if test="item.address!=null">
when id=#{item.id} then #{item.address}
</if>
</foreach>
</trim>
<trim prefix="job=case" suffix="end," >
<foreach collection="list" item="item" index="index">
<if test="item.job!=null">
when id=#{item.id} then #{item.job}
</if>
</foreach>
</trim>
</trim>
where
<foreach collection="list" separator="or" item="item" index="index" >
id=#{item.id}
</foreach>
</update>
<!--批量删除-->
<delete id="deleteList">
delete from t_user where id in
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item.id}
</foreach>
</delete>
</mapper>
7. 启动类
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.qq.mapper")
public class BatchOperationApplication {
public static void main(String[] args) {
SpringApplication.run(BatchOperationApplication.class, args);
}
}
8. 测试类
import com.qq.entity.User;
import com.qq.service.BatchUserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* @author 黔程似景
* @description TODO
* @date 2021/12/9 22:31
**/
@RunWith(SpringRunner.class)
@SpringBootTest
public class BatchOperation {
@Resource
private BatchUserService batchUserService;
@Test
public void batchInsertList() {
List<User> userList = new ArrayList<>();
userList.add(new User("范闲", "男", "儋州", "xxx"));
userList.add(new User("范若若", "女", "京城范府", "跟班"));
userList.add(new User("叶婉儿", "女", "宰相府", "xx"));
userList.add(new User("司理理", "女", "阳春楼", "刺客"));
int i = batchUserService.insertList(userList);
System.out.println("影响了" + i + "行");
}
@Test
public void batchUpdateList() {
List<User> userList = new ArrayList<>();
userList.add(new User(1, "法外狂徒", "男", "外卖小哥", "外卖小哥"));
userList.add(new User(2, "张三", "男", "外卖小哥", "外卖小哥"));
userList.add(new User(3, "里斯", "男", "外卖小哥", "外卖小哥"));
userList.add(new User(4, "二货", "女", "外卖小哥", "外卖小哥"));
int i = batchUserService.updateList(userList);
System.out.println("影响了" + i + "行");
}
@Test
public void batchDeleteList() {
List<User> userList = batchUserService.getList();
if (userList != null) {
batchUserService.deleteList(userList);
}
}
}
9. 测试结果
添加:
修改:
删除:
更多推荐
已为社区贡献1条内容
所有评论(0)