草庐IT

Fluent-MyBatis

全部标签

Junit启动测试mybatis xml文件BindingException: Invalid bound statement问题

背景:1、正常启动,xml文件放在java目录和resource目录下均正常   2、junit启动,xml文件放在resource目录下正常,放在java目录下报BindingException错误mapperlocation绑定地址为:"classpath:com/a/b/**/*.xml" 原因就在于绑定的地址有问题。 junit生成的test-classes下的测试类test所在目录与classes所在目录相同都存在com/a/b  启动时首先会找test-classes下的xml,肯定找不到,则不会继续找 所以有两种解决方案:1、路径改为"classpath*:com/a/b/**/

【mybatis】xml 大于|小于|等于 写法及介绍

在*.xml中使用常规的>=>=会与xml的语法存在冲突方法一:使用xml原生转义的方式进行转义字符名称sql符号转义字符大于号>>小于号<不等于<>大于等于号>=>=小于等于号<=与&&单引号''双引号""简单代码示例:sql语句select*fromuserwhere`age`xml语句select*fromuserwhere`age`<=#{age}写法注意转义字符之前不能有空格,例如:>或者>都是错误的转义字符必须以;结尾转义字符是区分大小写的单独出现的&不会被认为是转义的开始转义字符中是没有=所以大于等

Mybatis

基于SpringBoot整合Mybatis1.导入依赖org.springframework.bootspring-boot-starter-parent2.3.7.RELEASEorg.springframework.bootspring-boot-maven-plugin org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testmysqlmysql-connector-javacom.alibabadruid-spring-boot-starter1.1.1

SpringBoot+MyBatis+MySQL电脑商城项目实战(四)用户注册—控制层

5注册-控制层5.1创建响应状态码、状态码描述信息、数据。这部分功能封装到一个类中,将这类作为方法返回值,返回给前端浏览器。packagecom.cy.store.util;importjava.io.Serializable;/***Json格式的数据进行响应*/publicclassJsonResultimplementsSerializable{//状态码privateIntegerstate;//描述信息privateStringmessage;//数据类型不确定,声明称泛型privateEdata;publicJsonResult(){}publicJsonResult(Intege

MyBatis体系笔记

MyBatis什么是MyBatisMyBatis是优秀的持久层框架MyBatis使用XML将SQL与程序解耦,便于维护MyBatis学习简单,执行高效,是JDBC的延伸1.MyBatis开发流程引入MyBatis依赖创建核心配置文件创建实体(Entity)类创建Mapper映射文件初始化SessionFactory利用SqlSession对象操作数据1.1引入MyBatis依赖利用maven直接从仓库导入即可,有的小伙伴肯定不知道怎么去官网找,先来教一下好了。官网链接:MavenRepository:maven(mvnrepository.com)直接搜索mybatis然后点击第一个就好了这里

mybatis-plus使用sql的date_format()函数来查询数据

前言上次我们工具类对传入的时间数据进行了切割,这次就是使用date_format()函数对数据库存储的事件类型数据进行切割,并查出符合条件的数据。DATE_FORMAT()函数介绍DATE_FORMAT()函数接受两个参数:date:是要格式化的有效日期值/字段名format:是由预定义的说明符组成的格式字符串,每个说明符前面都有一个百分比字符(%)例如:SELECTstudent_name,DATE_FORMAT(created_time,'%Y')FROMstudentWHEREdeleted=0ANDDATE_FORMAT(created_time,'%Y')='2019'即是将创建时间

Mybatis-plus解析sql发生异常:net.sf.jsqlparser.JSQLParserException

问题描述在使用mybatis-plus的过程中,有一个jsonb字段使用了jsonb_exists_any(field_name,text[])作为where条件查询,执行sql如下:SELECT* FROMtable_name WHERE  jsonb_exists_any(field_name,ARRAY['110544709344','12564892357'])上面的sql在navicat中执行正常,所以sql没有问题,但是在mybatis-plus的xml文件中使用就会报错,异常信息如下:Causedby:net.sf.jsqlparser.JSQLParserException:E

springboot---mybatis操作事务配置的处理

目录前言:事务的相关问题1、什么是事务?2、事务的特点(ACID)3、什么时候想到使用事务?4、通常使用JDBC访问数据库,还是mybatis访问数据库,怎么处理事务?5、问题中事务处理的方式有什么不足?6、怎么解决不足?7、处理事务,需要怎么做,做什么?8、事务的隔离级别9、事务的超时时间10、事务的传播行为springboot中配置事务以及使用:1、进行配置类的处理2、创建数据资源配置类:3、实际代码里面调用实践:总结:前言:目前大多数的项目都是通过spring或者springboot来开发的,并且项目里面操作数据库常用的有mybatis\mybatis-plus等,在操作数据库的时候,经

mybatis以及mybatisplus批量插入问题

1.思路分析:批量插入是我们日常开放经常会使用到的场景,一般情况下我们也会有两种方案进行实施,如下所示。方案一就是用for循环循环插入:优点:JDBC中的PreparedStatement有预编译功能,预编译之后会缓存起来,后面的SQL执行会比较快并且JDBC可以开启批处理,这个批处理执行非常给力。缺点:很多时候我们的SQL服务器和应用服务器可能并不是同一台,所以必须要考虑网络IO,如果网络IO比较费时间的话,那么可能会拖慢SQL执行的速度。再来说第二种方案,就是生成一条SQL插入:优势:这种方案的优势在于只有一次网络IO,即使分片处理也只是数次网络IO,所以这种方案不会在网络IO上花费太多时

一篇聊聊Mybatis插件开发

Mybatis的插件,主要用于在执行sql前后,对sql进行封装加工,或者在sql执行后,对数据进行加工处理。常用于一些公共数据操作处理,例如:分页插件,在执行sql查询前增加分页参数多租户系统中,增加租户ID参数。增加更新时间、创建时间、更新人、创建人的参数信息。数据权限中,增加参数查询。插件开发过程确定需要拦截的签名指定需要拦截的方法,通过方法签名来指定,方法签名即指定哪个类的哪个方法+方法参数。这里的类不能随便写,只能从以下几个类中选,也就是说,MyBatis插件可以拦截四大对象中的任意一个。Executor 是执行SQL的全过程,包括组装参数,组装结果集返回和执行SQL过程,都可以拦截