作者:wy6968308431 | 来源:互联网 | 2023-08-21 16:38
springboot + mybatis-plus 最近发现系统中用了大量代码生成器生成代码,生成的代码本来是复用很高,但是不断加上条件之后复用度变的比较低,而且代码较多,且不好修改,只能自己重新写,之后发现plus确实挺不错的,最近研究了下,主要是把现在springboot + mybatis改成mybatis-plus,不能更改已经写好的mybatis代码,因为再用,在此处记录下,下面我们就按照步骤一步步实现。
文章目录 springboot + mybatis-plus 一、idea创建springboot工程 二、配置文件 1.pom 2.yml 3.编写代码 4.mybatis-plus中写xml 总结
使用mybatis-plus时我们要先去学习它官网链接,优点性能就不说了,这个东西有了的话肯定也差不到那儿去对吧。看完简介和快速开始部分我们大概已经有了链接,发现和mybatis配置差不多,那我们就开始吧。
提示:以下是本篇文章正文内容,下面案例可供参考
一、idea创建springboot工程 点击下一步 这儿Java版本要选一下,现在大家基本都是8,其它项目名称和包名要改的话就改一下,我们就用默认吧。
下一步先把这两个选上。点击完成。
二、配置文件 1.pom mybatis-plus依赖 < dependency> < groupId> com.baomidou groupId> < artifactId> mybatis-plus-boot-starter artifactId> < version> 3.3.1 version> dependency>
为了方便加个lombok < dependency> < groupId> org.projectlombok groupId> < artifactId> lombok artifactId> dependency>
Mysql驱动包我们刚才已经添加了&#xff0c;我这儿再放一下 < dependency> < groupId> mysql groupId> < artifactId> mysql-connector-java artifactId> dependency>
2.yml 这儿我把properties改成yml了 我们配置一个数据库连接 应该是新版本的问题&#xff0c;这个url后边必须要加上&#xff1a;
zeroDateTimeBehavior&#61;convertToNull&useTimezone&#61;true&serverTimezone&#61;GMT%2B8
否则的话会出现8小时时间差&#xff0c;关于这个时间差可以看一下serverTimezone这个关键字。
spring : datasource : driver-class-name : com.mysql.jdbc.Driverurl : jdbc: mysql: //localhost: 3306/demo1? useUnicode&#61;true&characterEncoding &#61;utf- 8&zeroDateTimeBehavior &#61;convertToNull&useTimezone &#61;true&serverTimezone &#61;GMT%2B8username : rootpassword : admin123hikari : pool-name : db- hikari- tenderidle-timeout : 600000 auto-commit : true max-lifetime : 500000 connection-timeout : 30000 connection-test-query : select 1minimum-idle : 5 maximum-pool-size : 20
3.编写代码 user对象
&#64;Data public class User { private int id; private String name; private int age; private String email; private String img; }
mapper&#xff1a;
public interface UserMapper extends BaseMapper < User> { }
启动类必须添加mapper扫描路径 &#64;MapperScan(“com.example.mapper”)
运行测试类&#xff1a;
&#64;SpringBootTest class MybatisPlusApplicationTests { &#64;Autowired private UserMapper userMapper; &#64;Test void contextLoads ( ) throws SQLException { System. out. println ( ( "----- selectAll method test ------" ) ) ; List< User> userList &#61; userMapper. selectList ( null) ; for ( int i &#61; 0 ; i < userList. size ( ) ; i&#43;&#43; ) { User user &#61; userList. get ( i) ; System. out. println ( user. getName ( ) ) ; System. out. println ( user. getAge ( ) ) ; System. out. println ( user. getEmail ( ) ) ; System. out. println ( user. getImg ( ) ) ; } } }
大家可以试下userList.forEach(); 结果&#xff1a;
4.mybatis-plus中写xml UserMapper接口中添加一个方法 public interface UserMapper extends BaseMapper < User> { public List< User> selectAll ( ) ; }
resource下边新建mapper文件夹&#xff0c;写userMapper.xml 注意这块由于mybatis-plus等配置类没有配置&#xff0c;所以这儿必须要指向user全路径
< mapper namespace &#61; " com.example.mapper.UserMapper" > < select id &#61; " selectAll" parameterType &#61; " com.example.bean.User" resultType &#61; " com.example.bean.User" > select * from user select> mapper>
yml配置文件中添加mybatis-plus扫描xml&#xff0c;和mybatis一样配置 mybatis-plus:mapper-locations: mapper/*Mapper.xml
结果 总结 目前大概就很简单的看了一遍mybatis-plus官网文章&#xff0c;基本才看了前边一小部分&#xff0c;也就是开始说的那些&#xff0c;配置发现和mybatis差不多&#xff0c;所以就尝试了一下&#xff0c;发现也是可以的&#xff0c;各位可以去试下把系统中的mybatis依赖换成mybatis-plus&#xff0c;配置文件改成mybatis-plus&#xff0c;有些系统中写了sql初始化等工厂&#xff0c;mybatis-plus发现有自动sql工厂&#xff0c;这两个我也没有仔细对比&#xff0c;估计这块要大家自己去修改&#xff0c;不然的话两个sql工厂兼容也是个不容易的事呀。 &#xff08;写的不好请指出&#xff0c;有更好的方案请留言&#xff09; 后边我会仔细阅读plus&#xff0c;会整理一下大概常用的部分配置和功能 代码下载链接0积分