mybatis-plus批处理IService的实现示例

一、pom文件引入

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
       <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.3.1.tmp</version>
    </dependency>
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus</artifactId>
        <version>3.3.1.tmp</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-web</artifactId>
    </dependency>

二、Controller层

@RequestMapping("/user")
@RestController
public class UserController {
  @Autowired
   UserInfoService userInfoService;

  @RequestMapping("/add")
  public void addUser() {
    userInfoService.addUser();
  }
}

三、IService层(此处请确保继承的是 mybatisplus下的 IService,上述的UserInfoEntity为实体类)

import com.baomidou.mybatisplus.extension.service.IService;
import com.entity.UserInfoEntity;

public interface UserInfoService extends IService<UserInfoEntity>{

  public void addUser();

}

四、ServiceImpl(UserInfoDao和UserInfoEntitty分别为业务对应的UserEntityDao接口和UserInfoEntitty实体类)

@Service
public class UserInfoServiceImpl extends ServiceImpl<UserInfoDao, UserInfoEntity> implements UserInfoService{
  @Override
  public void addUser() {
    Random r=new Random(100);
    String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
     Random random=new Random();
    Set<UserInfoEntity> entityList=new HashSet<UserInfoEntity>();
    for(int i=0;i<1000000;i++) {
      UserInfoEntity entity=new UserInfoEntity();
      entity.setAge(r.nextInt());
      int number=random.nextInt(62);
      entity.setName(""+str.charAt(number));
      entity.setEvaluate("good");
      entity.setFraction(r.nextLong());
      entityList.add(entity);
    }
    this.saveBatch(entityList);
  }

五、entity层

@TableName("user_info")//@TableName中的值对应着表名
@Data
public class UserInfoEntity {

  /**
   * 主键
   * @TableId中可以决定主键的类型,不写会采取默认值,默认值可以在yml中配置
   * AUTO: 数据库ID自增
   * INPUT: 用户输入ID
   * ID_WORKER: 全局唯一ID,Long类型的主键
   * ID_WORKER_STR: 字符串全局唯一ID
   * UUID: 全局唯一ID,UUID类型的主键
   * NONE: 该类型为未设置主键类型
   */
  @TableId(type = IdType.AUTO)
  private Long id;
  /**
   * 姓名
   */
  private String name;
  /**
   * 年龄
   */
  private Integer age;
  /**
   * 技能
   */
  private String skill;
  /**
   * 评价
   */
  private String evaluate;
  /**
   * 分数
   */
  private Long fraction;

六、Mapper接口层

@Mapper

public interface UserInfoDao extends BaseMapper<UserInfoEntity>{

}

到此这篇关于mybatis-plus批处理IService的实现示例的文章就介绍到这了,更多相关mybatis-plus批处理IService内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MyBatis-Plus 通用IService使用详解

    一.引言 MP除了通用的Mapper还是通用的Servcie层,这也减少了相对应的代码工作量,把通用的接口提取到公共.其实按照MP的这种思想,可以自己也实现一些通用的Controller. 今天是周天,作为一名码农来说,这里小编提醒大家周末有空还是多出去运动一下. 生命在于运动,生命诚可贵. 二. 小编瞎扯 相信有和小编一样的朋友,在大城市独自漂泊,感觉就凭借自己内心那一点点的火苗,想要燃烧起来. 小编在上海这些年,不慌也不忙,从开始每天厌恶工作,到现在开开心心的上班,回顾自己的成长除了存款,其

  • mybatis-plus批处理IService的实现示例

    一.pom文件引入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus

  • Mybatis Plus 实现批量插入的示例代码

    目录 一. 添加依赖 二. 继承默认方法注入 三. 在 MybatisPlusConfig 配置文件中注入 Bean 四. 扩展自带 BaseMapper 五. 业务层面实现 Mybatis Plus 的 IService 接口中提供了批量插入的方法,然而,它的内部实现逻辑竟然是这样的: 居然是循环单条插入?!逗人玩嘛,好吧,自己动手,丰衣足食. 一. 添加依赖 <!--mybatis plus extension,包含了mybatis plus core--> <dependency&

  • springboot整合Mybatis、JPA、Redis的示例代码

    引言 在springboot 项目中,我们是用ORM 框架来操作数据库变的非常方便.下面我们分别整合mysql ,spring data jpa 以及redis .让我们感受下快车道. 我们首先创建一个springboot 项目,创建好之后,我们来一步步的实践. 使用mybatis 引入依赖: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-

  • SpringBoot mybatis 实现多级树形菜单的示例代码

    一.前言 iview-admin中提供了 v-org-tree这么一个vue组件可以实现树形菜单,下面小编来提供一下在element-ui中的使用教程(项目见:https://github.com/lison16/v-org-tree) 小编集成了el-dropdown下拉菜单(鼠标左击显示菜单),和右击自定义菜单,两种方式,效果图如下: 二.使用教程 (1)安装依赖 npm install clipboard npm install v-click-outside-x npm install

  • SpringBoot整合Mybatis Plus多数据源的实现示例

    目录 导读 添加依赖 application.properties 2种方式创建DataSource Master配置,使用druid连接池 Slave配置 启动类 演示 导读 有一个这样子的需求,线上正在跑的业务,由于业务发展需要,需重新开发一套新系统,等新系统开发完成后,需要无缝对接切换,当初具体设计见草图. 添加依赖 <!--lombok--> <dependency> <groupId>org.projectlombok</groupId> <

  • SpringBoot+MyBatis+AOP实现读写分离的示例代码

    目录 一. MySQL 读写分离 1.1.如何实现 MySQL 的读写分离? 1.2.MySQL 主从复制原理? 1.3.MySQL 主从同步延时问题(精华) 二.SpringBoot+AOP+MyBatis实现MySQL读写分离 2.1.AbstractRoutingDataSource 2.2.如何切换数据源 2.3.如何选择数据源 三 .代码实现 3.0.工程目录结构 3.1.引入Maven依赖 3.2.编写配置文件,配置主从数据源 3.3.Enum类,定义主库从库 3.4.ThreadL

  • Mybatis Generator Plugin悲观锁实现示例

    目录 前言 实现背景: 实现Mybatis悲观锁 完整代码 前言 Mybatis Generator插件可以快速的实现基础的数据库CRUD操作,它同时支持JAVA语言和Kotlin语言,将程序员从重复的Mapper和Dao层代码编写中释放出来.Mybatis Generator可以自动生成大部分的SQL代码,如update,updateSelectively,insert,insertSelectively,select语句等.但是,当程序中需要SQL不在自动生成的SQL范围内时,就需要使用自定

  • mybatis plus自动生成代码的示例代码

    写一个简单的mybatis plus插件自动生成代码的例子 pom.xml 添加配置 <!-- mybatis plus 插件--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency>

  • Springboot整合mybatis开启二级缓存的实现示例

    目录 前言 mybatis 一级缓存和二级缓存的概念 pom引入依赖 application.properties 文件配置 mapper.xml 文件配置 cache-ref 完整示例代码 踩坑 参考资料 前言 下面大部分内容来源于网上的相关帖子和官网,自己简单写了个demo体验了下,个人感觉mybatis的缓存并不是很合适 查询做缓存时,遇到更新操作就会刷新缓存,尤其是多表查询时,就会很难控制.对于那些需要缓存的热数据应该抽出来放到redis上做. mybatis 一级缓存和二级缓存的概念

  • MyBatis多对多关联映射创建示例

    目录 示例 [通过班级查询老师信息] 示例 [通过班级查询老师信息] 创建t_classes 创建t_classessTeacher 创建t_teacher 创建Classes package com.po; import java.util.List; public class Classes { private Integer cid; private String cname; private List<Teacher> teachers; public Integer getCid()

随机推荐