MyBatis-Plus
九八年的尾巴
一个愿意分享和倾听的年轻人
展开
-
Springboot:使用IDEA自动生成java实体类Mysql逆向工程效率神器使用讲解
使用IDEA生成对象实体类Step1:IDEA连接MysqlStep1-2:选择数据源Step1-3:配置数据库连接Step2:生成实体对象Step2-1:选择所有表编辑脚本如果不编辑它自动生成的实体对象类名和一切属性类型不对,所以我们生成前先编辑一下选择后左侧目录会出现一个脚本文件,然后打开编辑Step2-2:生成实体类选择生成存放位置,我这里直接选中项目中domain目录了,截图的时候截错了,不要受影响了还有一些自动生成dao层,service层一切操作,其实我本人用起原创 2020-12-24 17:30:14 · 353 阅读 · 2 评论 -
Mybatis:注解方式使用PageHeler分页插件
原有分页查询需要执行两条查询语句SELECT * FROM video LIMIT 0,3SELECT COUNT(*) FROM video使用注解的方式完成PageHelper插件分页dao层 就写一个最简单的查询语句就OK /** * 查询全部视频列表 * @return */ @Select("SELECT * FROM video") List<Video> listVideo();Step1:引入依赖 <原创 2020-12-25 14:26:23 · 994 阅读 · 1 评论 -
Spring-boot或Spring-cloud控制台mybatis log plugin插件日志打印配置及使用
在测试接口sql语句较为复杂联表传值较多,且出现错误的情况下,光看mapper文件很难找出错误点在哪,idea则提供了mybatis log plugin插件,测试接口时将#{值}去掉 直接打印完整sql语句,方便查看一:插件安装下载安装后重启idea工具二:配置文件如果使用的是application.properties文件,加入如下配置:logging.level.com.example.demo.dao=debuglogging.level.com,后面的路径指的是mybatis对应的方原创 2020-07-15 13:16:01 · 973 阅读 · 0 评论 -
SpringBoot-Spring-Mybatis事务控制示例讲解
SpringBoot+Spring+Mybatis项目https://start.spring.io/连接打通数据库配置spring.datasource.driver-class-name =com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=falsespring.datasour原创 2020-12-15 15:25:54 · 279 阅读 · 0 评论 -
MyBatis:事务管理形式讲解以及Mysql的innodb和MyISAM引擎的区别以及事务控制源码案例(11)
使用JDBC的事务管理手动使用 java.sql.Connection对象完成对事务的提交(commit())、回滚(rollback())、关闭(close())使用MANAGED的事务管理MyBatis自身不会去实现事务管理,而让程序的容器如(Spring, JBOSS)来实现对事务的管理事务工厂TransactionFactory 的两个实现类JdbcTransactionFactory->JdbcTransactionManagedTransacti..原创 2020-12-13 13:31:21 · 318 阅读 · 0 评论 -
MyBatis:懒加载实例超详细讲解(10)
mapper里的sql操作,不懂得看之前博文,这里只对懒加载做讲解什么是懒加载?按需加载,先从单表查询,需要时再去从关联表去关联查询,能大大提升数据库性能,并不是所有场景下使用懒加载都能提高效率Mybatis懒加载像之前博文做为大家做的resultMap联表查询里面的的association、collection有延迟加载功能下面的示例就是对之前的操作进行修改,当一个需求不需要联表查询,而你这条sql中还涉及联表怎么办开启懒加载<!--全局参数设置--><settings&原创 2020-12-13 01:43:49 · 595 阅读 · 0 评论 -
MyBatis:一级缓存讲解和案例实战以及二级缓存的使用(9)
所有mapper文件里的sql操作,看之前博文,这里只对缓存做讲解什么是缓存?程序经常要调用的对象存在内存中,方便其它使用时可以快速调用,不必去数据库或者其它持久化设备中查询,主要就是提高性能Mybatis一级缓存1.一级缓存的作用域是SQLSession,同一个SqlSession中执行相同的SQL查询(相同的SQL和参数),第一次会去查询数据库并写在缓存中,第二次会直接从缓存中取2.基于PerpetualCache的HashMap本地缓存3.默认开启一级缓存下面给大家演示一下缓存,同样的S原创 2020-12-13 01:42:56 · 182 阅读 · 0 评论 -
MyBatis:resultMap详解以及一对一association、一对多collection查询结果映射(8)
Mybatis的SQL语句返回结果有两种就简单地说,你多表查出来的其它字段数据,而你接收的实体对象不存在这个属性,而你又需要映射这个数据,简单的做法就是实体对象你多加字段属性,或者是重复id单表操作然后映射成vo的类去返回前端resultType查询出的字段在相应的pojo中必须有和它相同的字段对应,或者基本数据类型适合简单查询resultMap需要自定义字段,或者多表查询,一对多等关系,比resultType更强大适合复杂查询下面的例子是没做关联查询 只做了字段..原创 2020-12-12 20:58:44 · 3592 阅读 · 0 评论 -
MyBatis:配置文件mybatis-config.xml常见属性讲解-查询typeAlias别名的使用-Sql片段使用(7)
配置文件讲解官方文档:https://mybatis.org/mybatis-3/zh/configuration.html#详细配置可以去官方文档看这是没用spring的场景,所以需要配置文件,如果使用springboot就不需要这么写了我的配置<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"原创 2020-12-11 16:46:45 · 250 阅读 · 0 评论 -
MyBatis:delete删除语法和转义字符使用(6)
delete删除语法需求:删除某个时间段之后且金额大于10元的数据 <!--大于时间金额删除--> <delete id="daleteByCreateTimeAndPrice" parameterType="java.util.Map"> delete from video where create_time <![CDATA[ > ]]> #{create_time} and price <![CDATA[ > ]]原创 2020-12-11 15:54:08 · 609 阅读 · 1 评论 -
MyBatis:update更新语法实操以及选择性更新标签使用以及注解方式动态sql语句SqlProvider的使用(5)
update语法更新对象操作 <!--更新视频信息--> <update id="updatevideo" parameterType="net.jhclass.online_class.domain.pojo.Video"> update video set title = #{title}, summary=#{summary}, cover_img=#{cover_img},原创 2020-12-11 15:53:48 · 2761 阅读 · 0 评论 -
MyBatis:实战插入语法之新增和自增主键以及foreach批量插入语法(4)
不懂之前的mapper操作和mybatis配置等看之前实战篇章,这里只做新增操作Step1:Mapper新增SQL操作 <insert id="addVideo" parameterType="net.jhclass.online_class.domain.pojo.Video"> insert into `video`(`title`,`summary`,`cover_img`,`price`,`c_id`,`point`,`create_time`)原创 2020-12-10 18:26:24 · 580 阅读 · 1 评论 -
MyBatis:入参parameterType和取值类型讲解(3)
parameterType参数类型就是参数入参的类型,好比根据id查询数据,这个id是int或string。其实入参可以不写,不影响 可以是基本类型parameterType="java.lang.Long"parameterType="java.lang.String" 可以是java集合List或者MapparameterType="java.util.Map"parameterType="java.util.List" 可以是java自定义对象parameterType=原创 2020-12-10 18:25:57 · 1272 阅读 · 2 评论 -
MyBatis:参数别名使用之查询列表操作及配置驼峰字段映射java对象和数据库字段(2)
查询列表操作,返回List重点:参数记得取别名,方面识别和使用 查询一样,结果使用List接收常用的查询Step1.默认参数查询 如果没有@Param注解起别名,那么参数名和Mapper里的接收参数名一定要一致 但如果是单个参数的话,Mapper里的接收参数名可以随意起,但多个参数不行!! 但也可以使用下标去取值,但这样代码看起来不可读,不推荐!Step2.模糊查询3.mysql自带函数使用构建函数DELIMITER $$CREATE FUNCTION原创 2020-12-10 15:57:02 · 497 阅读 · 0 评论 -
MyBatis:开发必备调试之控制台打印SQL
日志打印SQL打印最终执行的SQL,调试查看传参以及编写SQL是否正确。也可以使用idea下载对应插件,或使用Mybatis-plus自带的控制台打印sql日志打印依赖 <!--日志打印--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId>原创 2020-12-10 15:55:41 · 398 阅读 · 0 评论 -
MyBatis:ORM框架介绍及实战应用(1)
什么是MyBatis?Apahce的一个开源项目一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。解耦免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作通过简单的 XML 或注解来配置和映射 Java对象 到 数据库中的记录官方地址:https://mybatis.org/mybatis-3/MyBatis核心流程:https://mybatis.org/mybatis-3/zh/getting-started.html每个基于 MyBatis 的应用都是原创 2020-12-10 15:54:52 · 232 阅读 · 0 评论 -
Javaweb通过原生jdbc访问数据库实操以及原生缺点和ORM框架介绍
注意:本地安装Mysql务必使用5.7版本原生jdbc访问数据库步骤Step1:加载JDBC驱动程序Step2:加载数据库的连接Step3:创建preparedStatementStep4:执行SQL语句Step5:处理结果集Step6:关闭JDBC对象资源SpringBoot项目测试原生JDBC连接加载依赖包<dependency> <groupId>org.springframework.boot</groupId> <原创 2020-12-10 15:53:34 · 234 阅读 · 0 评论 -
SpringBoot:整合MyBatis-Plus各种使用点接口讲解超级详细
简介MyBatis-Plus是一个Mybatis增强版工具,在MyBatis上扩充了其它功能没有改变基本功能,也就是只做封装增强不做改变,为了简化开发提交效率而存在,不需要写XML等sql语句就可实现官方文档:https://mp.baomidou.com/guide/使用SpringBoot快速使用MyBatis-PlusStep1:准备工作 需要java开发环境(JDK)以及响应的开发工具(IDEA) 需要maven(用来下载相关的jar包) 使用Springboot整合Mybati原创 2020-12-03 14:14:20 · 3406 阅读 · 2 评论