如何实现MybatisPlus的增删改查,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
在持久层框架中 mybatis 应用比较多,而且比重在逐渐的上升。通常项目的组合是 SSM。mybatis 之所以火,是因为他的灵活,使用方便,优化比较容易。
mybatis 的直接执行 sql 语句, sql 语句是写在 xml 文件中,使用 mybatis 需要多个 xml 配置文件,在一定程度上比较繁琐。一般数据库的操作都要涉及到CURD。
mybatis-plus 是在 mybatis 上的增强,减少了 xml 的配置,几乎不用编写 xml就可以做到单表的 CURD,很是方便,极大提供了开发的效率。 我们写程序目的就是让生活更加简单。
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
MyBatis-Plus 在 MyBatis 之上套了一层外衣,单表 CURD 的操作几乎都可以由 MyBatis-Plus 代替执行。而且提供了各种查询方式,分页行为。作为使用者无需编写 xml,直接调用 MyBatis-Plus 提供的 API 就可以了。
几分钟就可以上手 MP,前提是需要熟悉 mybatis,spring 或 spring boot, maven,掌握 lambda 表达式更能提升效率。
拥有 Java 开发环境以及相应 IDE
熟悉 Spring Boot
熟悉 Maven
create database user; use user; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `email` varchar(80) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; insert into user values(null,'张三','666666@qq.com',18);
使用 Spring Initializr 快速初始化一个 Spring Boot 工程idea 中 File – New Project 选择 Spring Initializr 后填写项目信息,创建工程。
项目信息
依赖选择SQL中的MyBatis Framework
定义项目名称和路径
pom文件添加mybatis-plus依赖
<!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.5</version> </dependency> <!-- mysql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.25</version> </dependency>
application.properties或application.yml 添加数据库配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/user spring.datasource.username=root spring.datasource.password=root
或
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/user username: root password: root
创建实体类
@TableId 设置主键, IdType.AUTO 使用自动增长产生主键
继承 MyBatis Plus 中的 BaseMapper , 在 UserMapper 中使用 MP 中的方法,实
现 CURD。
测试
查看数据库
mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
CRUD 的操作是来自 BaseMapper 中的方法。BaseMapper 中共有 17 个方法,CRUD 操作都有多个不同参数的方法。继承 BaseMapper 可以其中的方法。
BaseMapper 方法列表:
注:insert()返回值 int,数据插入成功的行数,成功的记录数。getId()获取主键值,成功影响行数后会自动将主键值赋值给实体类的主键id。
更新之前的数据库
更新后的数据库
注意:null 的字段不更新
没有设置email的字段,所以此时的email的字段为null
SQL语句没有设置email
数据库
删除有多个方法
deleteById:按主键删除
根据 Map 中条件删除
注:删除条件封装在 Map 中,key 是列名,value 是值,多个 key 之间 and 联接。
日志:
批量删除
把要删除的 id 放入 List ,传给 deleteBatchIds()
日志
注:没有查询结果,不会报错。
日志
批量查询记录
注:根据 id 查询记录,把需要查询的多个 id 存入到 List,调用 selectBatchIds(),
日志
使用 Map 的条件查询
把要查询的条件字段 put 到 Map,key 是字段,value 是条件值。多个条件是 and联接。调用 selectByMap(),传入 Map 作为参数,返回值是 List 集合。
日志
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。