热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

springbootmybatis升级为mybatisplus(三)

springbootmybatis-plus最近发现系统中用了大量代码生成器生成代码,生成的代码本来是复用很高,但是不断加上条件之后复用度变的比较低&

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


  1. mybatis-plus依赖

<dependency><groupId>com.baomidougroupId><artifactId>mybatis-plus-boot-starterartifactId><version>3.3.1version>dependency>

  1. 为了方便加个lombok

<dependency><groupId>org.projectlombokgroupId><artifactId>lombokartifactId>dependency>

  1. Mysql驱动包我们刚才已经添加了&#xff0c;我这儿再放一下

<dependency><groupId>mysqlgroupId><artifactId>mysql-connector-javaartifactId>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: 600000auto-commit: truemax-lifetime: 500000connection-timeout: 30000connection-test-query: select 1minimum-idle: 5maximum-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;Autowiredprivate UserMapper userMapper;&#64;Testvoid 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


  1. UserMapper接口中添加一个方法

public interface UserMapper extends BaseMapper<User> {/*** 查询全部*/public List<User> selectAll();
}

  1. 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 userselect>
mapper>

  1. yml配置文件中添加mybatis-plus扫描xml&#xff0c;和mybatis一样配置

mybatis-plus:mapper-locations: mapper/*Mapper.xml

  1. 结果
    在这里插入图片描述

总结

目前大概就很简单的看了一遍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积分


推荐阅读
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 探讨了 Python 中 UTF-8 编码的中文字符在某些情况下被误识别为 GB2312 的问题,并提供了详细的代码示例和环境信息。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 本文介绍了在 Spring Boot 中使用 JPA 进行数据删除操作时遇到的 SQL 错误及其解决方法。错误表现为:删除操作失败,原因是无法打开 JPA EntityManager 以进行事务处理。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 在本文中,我们将为 HelloWorld 项目添加视图组件,以确保控制器返回的视图路径能够正确映射到指定页面。这一步骤将为后续的测试和开发奠定基础。首先,我们将介绍如何配置视图解析器,以便 SpringMVC 能够识别并渲染相应的视图文件。 ... [详细]
author-avatar
wy6968308431
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有