List集合 添加到 Mysql

本文介绍了如何使用SpringBoot进行单元测试,测试类`APersonnelInfoConrollerTest`通过`APersonnelInfoService`服务接口插入大量模拟数据到MyBatis映射的数据库表中进行性能测试。
摘要由CSDN通过智能技术生成

 ( 简单操作,仅供初级练习,数据会丢失,工作不要用~!)

测试类:

        

package csgo;


import com.ruoyi.RuoYiApplication;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.traces.csgo.domain.APersonnelInfo;
import com.ruoyi.traces.csgo.service.APersonnelInfoService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplicationRunListener;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.BootstrapWith;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;


@SpringBootTest(classes = RuoYiApplication.class)
@RunWith(SpringRunner.class)
public class APersonnelInfoConrollerTest {




    @Autowired
    APersonnelInfoService aPersonnelInfoService;

    @Test
    public  void  test2(){
        ArrayList<APersonnelInfo> aPersonnelInfos = new ArrayList<>();
        for (int i=0;i<=130000;i++){
            //                生成唯一ID
            String uuid = IdUtils.fastSimpleUUID();
//            实体类
            APersonnelInfo aPersonnelInfo1 = new APersonnelInfo();
            aPersonnelInfo1.setName("云飞");
            aPersonnelInfo1.setGender("女");
            aPersonnelInfo1.setAge(18L);
            aPersonnelInfo1.setAddress("清南");
            aPersonnelInfo1.setPhone("186117*8545");
            aPersonnelInfo1.setUuidNum(uuid);

//           添加到集合
            aPersonnelInfos.add(aPersonnelInfo1);
        }

//        list集合存储
        int saves= aPersonnelInfoService.saveAPersonnelInfoList(aPersonnelInfos);
 //     清除list集合
        aPersonnelInfos.clear();
    }

}

Mapper层:

    int saveAPersonnelInfoList(@Param("list") ArrayList<APersonnelInfo> aPersonnelInfos);

Mapper.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.ruoyi.traces.csgo.mapper.APersonnelInfoMapper">

    <resultMap id="APersonnelInfoResultMap" type="com.ruoyi.traces.csgo.domain.APersonnelInfo">
        <id column="id" jdbcType="BIGINT" property="id"/>
        <id column="name" jdbcType="VARCHAR" property="name"/>
        <id column="gender" jdbcType="VARCHAR" property="gender"/>
        <id column="age" jdbcType="BIGINT" property="age"/>
        <id column="address" jdbcType="VARCHAR" property="address"/>
        <id column="phone" jdbcType="VARCHAR" property="phone"/>
        <id column="uuidNum" jdbcType="VARCHAR" property="uuidNum"/>
    </resultMap>

<!--    列表集合添加-->
    <insert id="saveAPersonnelInfoOne" parameterType="com.ruoyi.traces.csgo.domain.APersonnelInfo">
    insert into
        a_personnel_info (name,gender,age,address,phone,uuidNum) values
    (#{name},#{gender},#{age},#{address},#{phone},#{uuidNum})
    </insert>
    <insert id="saveAPersonnelInfoList" parameterType="java.util.List">

        insert into
            a_personnel_info (name,gender,age,address,phone,uuidNum) values
             <foreach collection="list" item="item" index="index" separator=",">
                 (
                        #{item.name},
                        #{item.gender},
                        #{item.age},
                        #{item.address},
                        #{item.phone},
                        #{item.uuidNum}
                 )
             </foreach>
    </insert>

</mapper>

数据库:

DROP TABLE IF EXISTS `a_personnel_info`;
CREATE TABLE `a_personnel_info`  (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '姓名',
  `gender` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '性别',
  `age` int NULL DEFAULT NULL COMMENT '年龄',
  `address` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '地址',
  `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '手机号',
  `uuidNum` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '唯一编码',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 130002 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '人员信息表Me' ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用:在这个引用中,给出了一些mapper层的代码,包括批量插入用户信息、根据用户id集合查询用户信息等方法。这些方法都使用了foreach标签和in集合动态查询的方式来实现。 引用:在这个引用中,提到了输出的json字符串是为了方便查看,如果需要解析json格式,可以使用json解析网址进行解析。 引用:在这个引用中,给出了一个pojo层的代码,包括用户ID、用户名、密码、邮箱、简介、头像、创建时间等字段的定义。 关于List<Integer> Mysql json的问题,根据引用的内容来看,没有直接提到List<Integer>和Mysql的json相关的内容。可以推测,问题可能是关于将List<Integer>存储为Mysql中的json格式的相关操作。在Mysql中,可以使用JSON类型来存储和操作json数据。可以通过将List<Integer>转换为json字符串,并将其存储到Mysql的json列中。存储后,可以使用Mysql提供的json函数和操作符来查询和处理这些json数据。 例如,可以使用JSON_ARRAY函数将List<Integer>转换为json数组,然后使用JSON_OBJECT函数将json数组转换为json对象。可以使用JSON_ARRAY_APPEND函数向json数组中添加元素,使用JSON_ARRAY_INSERT函数在指定位置插入元素,使用JSON_REMOVE函数删除元素等等。此外,还可以使用->操作符来提取json对象中的特定属性值,使用->>操作符来提取json对象中的特定属性值并将其作为字符串返回。 总之,通过将List<Integer>转换为json字符串,然后使用Mysql提供的json函数和操作符进行存储、查询和处理json数据是一种常见的做法。希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值