MybatisPlus的使用

MybatisPlus项目使用

  • 前言
    • 实例

前言

Mybatis-Plus是一个Mybatis的增强工具,它在Mybatis的基础上做了增强,却不做改变。我们在使用Mybatis-Plus之后既可以使用Mybatis-Plus的特有功能,又能够正常使用Mybatis的原生功能。我们在项目使用mybatisplus能够减少比较大的工作量。

实例

一、引入maven依赖

 
            org.springframework.boot
            spring-boot-starter-web
        

        
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
        
            com.baomidou
            mybatis-plus-boot-starter
            3.3.2
        

        
            mysql
            mysql-connector-java
            runtime
        
        
            org.projectlombok
            lombok
            1.18.10
            compile
        

二、加入yml配置

server:
  port: 8082
spring:
  datasource:
    driverClassName: com.mysql.cj.jdbc.Driver
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:mysql://localhost:3306/test_mybatis?serverTimezone=Asia/Shanghai
    username: root
    password: 123456
    hikari:
      read-only: false
      #客户端等待连接池连接的最大毫秒数
      connection-timeout: 60000
      #允许连接在连接池中空闲的最长时间(以毫秒为单位)
      idle-timeout: 60000
      #连接将被测试活动的最大时间量
      validation-timeout: 3000
      #池中连接关闭后的最长生命周期
      max-lifetime: 60000
      #最大池大小
      maximum-pool-size: 60
      #连接池中维护的最小空闲连接数
      minimum-idle: 10
      #从池返回的连接的默认自动提交行为。默认值为true
      auto-commit: true
      #如果您的驱动程序支持JDBC4,我们强烈建议您不要设置此属性
      connection-test-query: SELECT 1
      #自定义连接池名称
      pool-name: myHikarCp

三、创建数据表

CREATE TABLE `t_user` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(50) NOT NULL DEFAULT '' COMMENT '姓名',
  `age` int NOT NULL DEFAULT '0' COMMENT '年龄',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='用户表';

四、创建对应xml和对象




    
        
        
        
    
    

@Data
@TableName("t_user")
public class User {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
}

五、创建mapper文件

@Mapper
public interface TestMapper extends BaseMapper {
}

六、service的创建

public interface BaseService extends IService {

    /**
     * 分页查询
     *
     * @param entity    实体对象
     * @param pageNo    页码
     * @param pageSize  每页显示条数,默认20
     * @return com.baomidou.mybatisplus.core.metadata.IPage 分页对象
     */
    IPage page(T entity, Integer pageNo, Integer pageSize);

    /**
     * 分页查询
     *
     * @param entity   实体对象
     * @param pageSize 起始页,默认每页显示条数20
     * @return com.baomidou.mybatisplus.core.metadata.IPage 分页对象
     */
    default IPage page(T entity, Integer pageSize) {
        return this.page(entity, 1, pageSize);
    }

}
public class BaseServiceImpl, T> extends ServiceImpl implements BaseService {


    @Override
    public IPage page(T entity, Integer pageNo, Integer pageSize) {
        return this.page(new Page<>(pageNo, pageSize), new QueryWrapper<>(entity));
    }

}
public interface TestService  extends BaseService{
}

@Service
public class TestServiceImpl extends BaseServiceImpl  implements TestService {
}

七、controller的创建

@RestController
@RequestMapping("/mybatis")
public class TestController {

    @Resource
    private TestService testService;

    @GetMapping()
    public List getData(){
        LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
       return testService.list(queryWrapper);
    }

    @PostMapping()
    public Boolean saveData(@RequestBody User user){
        return testService.save(user);
    }

}

测试类:
在这里插入图片描述

你可能感兴趣的:(mybatis,mybatis,mybais,Puls)