草庐IT

mapper-mybatis

全部标签

MyBatis和SpringBoot的集成——SpringBoot+MyBatis项目实战

作者:禅与计算机程序设计艺术1.简介1、什么是MyBatis?MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码并且使数据库操作变得简单一致。2、为什么要用MyBatis?MyBatis有以下优点:可以将XML配置文件中的数据库操作逻辑分离出来,即便是多个开发人员同时开发时也不会互相干扰,提高协作效率;提供详细的错误信息,可以很方便地定位到底出了哪里的问题;支持多种数据库系统,可以自动生成SQL,适应不同数据库系统;内置事务管理,简化了数据访问对象(DAO)的编程复杂度;它的SQL映射支持动态语言,降低了学习成本;3、什么

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上花费太多时