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

时间:2022-06-19 00:26:28

一、pom文件引入

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<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层

?
1
2
3
4
5
6
7
8
9
10
11
@RequestMapping("/user")
@RestController
public class UserController {
  @Autowired
   UserInfoService userInfoService;
  
  @RequestMapping("/add")
  public void addUser() {
    userInfoService.addUser();
  }
}

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

?
1
2
3
4
5
6
7
8
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实体类)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@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层

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@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接口层

?
1
2
3
4
5
6
@Mapper
 
 
public interface UserInfoDao extends BaseMapper<UserInfoEntity>{
 
}

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

原文链接:https://www.cnblogs.com/kjcc/p/12882757.html