> 文档中心 > SpringBoot整合MybatisPlus

SpringBoot整合MybatisPlus


SpringBoot整合MybatisPlus

mybatisplus ,是国人开发的, 极大地简化了增删改查的操作,并且减少了sql语句的编写.

导入maven依赖

  1. pom.xml

    1. <dependency>    <groupId>com.baomidou</groupId>    <artifactId>mybatis-plus-boot-starter</artifactId>    <version>3.4.2</version></dependency><dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>8.0.25</version></dependency>
    2. 因为要操作数据库,所以还要将数据库驱动包导入.

创建数据库表

  1. DROP TABLE IF EXISTS `person2`;CREATE TABLE `person2`  (  `id` int(0) NOT NULL AUTO_INCREMENT,  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,  `phone` bigint(0) NULL DEFAULT NULL,  PRIMARY KEY (`id`) USING BTREE) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;SET FOREIGN_KEY_CHECKS = 1;

创建完成后编写实体类

  1. @NoArgsConstructor// 创建无参的构造方法@AllArgsConstructor// 创建满参的构造方法@Accessors(chain = true)// 使用链式方法@Data// 重写toString方法等方法@TableName("person2")// 对应表名public class Person {    //主键有Tableid注解 type是主键自增规则    @TableId(value = "id", type = IdType.AUTO)    private Integer id;    @TableField("username")    private String username;    @TableField("phone")    private long phone;    @TableField("password")    private String password;}

编写dao

  1. @Repositorypublic interface PersonDao extends BaseMapper<Person> {}
  2. 这里直接击沉BaseMapper即可,BaseMapper里面就有我们常用的方法!

  3. 如果我们想要自定义查询就需要这么写

    1. @Repositorypublic interface PersonDao extends BaseMapper<Person> {    /     * 按照姓名查询     * @param username     * @return     */    @Select("select * from person2 where username = #{username}")    List<Person> selectByUsername(String username);}

编写service

  1. 这里了就用增删改查举例

  2. @Servicepublic class PersonService {    @Resource    private PersonDao personDao;    /     * 添加person     *     * @param person     * @return     */    public Object addPerson(Person person) { return personDao.insert(person);    }    public Object updPerson(Person person) { //使用  会自动根据id把数据库中的信息进行修改为指定值// person.setId(1);// person.setPassword("setValue");// person.setUsername("setUsername");// person.setPhone(1873374979); return personDao.updateById(person);    }    public Object delPerosn(Integer id) { return personDao.deleteById(id);    }    public Object findAll() { return personDao.selectList(null);    }     /     * 只有这个是我们自己定义的     *     * @param username     * @return object     */    public Object findByName(String username) { return personDao.selectByUsername(username);    }}

编写Controller

  1. @RestControllerpublic class TestCtrl {    @Resource    private PersonService ps;    @RequestMapping("/findAll")    public Object findAll() { return new Result("ok", ps.findAll());    }    @RequestMapping("/findByName/{username}")    public Object findByName(@PathVariable(value = "username") String username) { return new Result("ok", ps.findByName(username));    }    @RequestMapping("/del/{id}")    public Object delPerson(@PathVariable(value = "id") Integer id ) { return new Result("ok", ps.delPerosn(id));    }    @RequestMapping("/add")    public Object addPerson(Person person) { return new Result("ok", ps.addPerson(person));    }    @RequestMapping("/upd")    public Object updPerson(Person person) { return new Result("ok", ps.updPerson(person));    }}
  2. 每个方法最后返回的 new Result(); 是自己定义的返回值类

    1. @Datapublic class Result {    private Integer code;    private String message;    private Object data;    public Result(String message, Object data) { this.code = 200; this.message = message; this.data = data;    }    public Result(String message) { this.code = 4444; this.message = message;    }}
  3. 编写完成后一定不要忘了扫描dao !!!

  4. 在启动类上添加注解@MapperScan

    1. @SpringBootApplication//这个不能忘了加 这就是dao接口所在的包@MapperScan("com.mucd.mps.dao")public class MpsApplication {    public static void main(String[] args) { SpringApplication.run(MpsApplication.class, args);    }}

测试

  1. 我这里使用apipost工具进行测试
  2. 查询所有
    1. 在这里插入图片描述
    2. 添加数据
    3. 在这里插入图片描述
    4. 按照username查询
    5. 在这里插入图片描述
    6. 按照id删除数据
    7. 在这里插入图片描述
    8. 按照id修改数据
    9. 在这里插入图片描述
      10.添加数据
    10. 在这里插入图片描述

ok测试完成