草庐IT

Fluent-MyBatis

全部标签

如何在springboot中配置mybatis-plus

MyBatis-Plus(简称为MP)是一个开源的Java持久层框架,它是在MyBatis基础上进行扩展的。他的出现是为了进一步简化和增强MyBatis的功能,提供更多便捷的特性和工具,以提高开发效率。本文将阐述如何在springboot中配置和使用mybatis-plus目录1配置2使用1配置在pom.xml文件中配置mybatis-plus所需要的依赖com.baomidoumybatis-plus-boot-starter3.5.3.1配置完一定要用maven重新加载一下项目然后在resource中创建application.yml的配置文件,在里面写入mybatis-plus所需要的一

application.yml文件中开启mybatis自动驼峰映射

application.yml文件中开启mybatis自动驼峰映射configuration:#是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射map-underscore-to-camel-case:true如果不开启映射在使用BaseMapper和Iservice封装的方法时会报错如果在Mapper.xml文件中自己写sql语句在selsect*或者其他字段名自己指定清楚的情况下不会报错但同样无法正确返回数据道理很简单因为数据库数据写不到java的属性名里只是查询能查到不会报错sql查询默认查询java字段通过映射变为数据库字段因为BaseMapper和Iserv

Mybatis关联查询【附实战案例】

目录一、Mybatis一对一关联查询1.新增持久层接口方法2.新增映射文件对应的标签3.新增测试方法4.运行效果二、Mybatis一对多关联查询1.新增持久层接口方法2.新增映射文件对应的标签3.新增测试方法4.运行效果三、Mybatis多对多关联查询1.新增持久层接口方法2.新增映射文件对应的标签3.新增测试方法4.运行效果四、进阶查询班级信息1.新增持久层接口方法2.新增映射文件对应的标签3.新增测试方法4.运行效果一、Mybatis一对一关联查询        查询学生时,将关联的一个班级对象查询出来,就是一对一关联查询。这里还新增了几个实体类新增Classes实体类packagecom

Mybatis关联查询【附实战案例】

目录一、Mybatis一对一关联查询1.新增持久层接口方法2.新增映射文件对应的标签3.新增测试方法4.运行效果二、Mybatis一对多关联查询1.新增持久层接口方法2.新增映射文件对应的标签3.新增测试方法4.运行效果三、Mybatis多对多关联查询1.新增持久层接口方法2.新增映射文件对应的标签3.新增测试方法4.运行效果四、进阶查询班级信息1.新增持久层接口方法2.新增映射文件对应的标签3.新增测试方法4.运行效果一、Mybatis一对一关联查询        查询学生时,将关联的一个班级对象查询出来,就是一对一关联查询。这里还新增了几个实体类新增Classes实体类packagecom

MyBatis-Flex 和MyBatis-Plus Fluent-MyBatis 比较

        MyBatis-Flex是一个优雅的MyBatis增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用Mybaits-Flex链接任何数据库,其内置的QueryWrapper^亮点 帮助我们极大的减少了SQL编写的工作的同时,减少出错的可能性          MyBatis-Flex主要是和 MyBatis-Plus 与 Fluent-MyBatis 对比,内容来源其官网、git或者网络文章特征​1、轻量:除了MyBatis,没有任何第三方依赖轻依赖、没有任何拦截器,其原理是通过SqlProvider的方式实现的轻实现。同时,在执行的过程中,没有任何的Sql解

Mybatis-Plus代码生成器的使用

通常我们在做项目的时候,要手动搭建项目的结构,如controller,service,mapper,entity,是不是很麻烦,特别是数据库表特别多时,现在介绍一下使用MybatisPlus时怎么自动生成这些代码。首先要在项目的pom.xml里引入必要的依赖,如下:com.baomidoumybatis-plus-boot-starter3.5.3.1com.mysqlmysql-connector-jruntimecom.alibabadruid1.2.1org.projectlomboklomboktruecom.baomidoumybatis-plus-generator3.4.1org

使用mybatis新增一条数据返回新增数据的id

第一种方法insertintouser(userName,password)values(#{userName},#{password})注意事项:useGeneratedKeys="true"表示给主键设置自增长,keyProperty="userId"表示将自增长后的Id赋值给实体类中的userId字段。parameterType="com.icc.domain.User"这个属性指向传递的参数实体类这里提醒下,中没有resultType属性,不要乱加。实体类中uerId要有getter()andsetter();方法第二种方式:SELECTLAST_INSERT_ID()INSERTIN

MyBatis批量插入数据优化,增加一个参数,效率提升百倍

项目中进行接口压测,发现批量插入的速度有点超出预期,感觉很奇怪,经过定位后发现mybatise-plus批量保存的处理十分缓慢,使用的是saveBatch方法,这点有点想不通。于是就进行了相关内容分析。根据mybatise-plus中saveBatch的方法进行源码查看: 继续跟踪逻辑,从代码上看,确实是一条条执行了sqlSession.insert(sqlStatement,entity)方法。 继续跟踪,下面的consumer执行的就是上面的sqlSession.insert方法:具体执行逻辑中是累计到一定数量后,一批数据进行flush。其实,从上述的代码实现上看,整个实现机制跟我们预想的

mybatis执行自定义sql时,在执行最后多出现了一个limit的原因及解决方法

报错:###Cause:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'LIMIT12'atline21 在执行sql的时候,使用了自定义的分页,sql会自动拼接limitPageproductPage=slGwjProductMapper.selectPage(page,wrapper);但是项目中配置了sp

【项目实战】MyBatis-Plus 配置属性介绍以及如何开启与关闭SQL日志打印

一、常见的配置属性以下是一些常见的配置属性:序号配置属性属性说明默认值1cacheEnabled指定是否启用缓存默认为true2lazyLoadingEnabled指定是否启用延迟加载默认为false3aggressiveLazyLoading指定是否启用积极延迟加载默认为false4defaultStatementTimeout指定默认的SQL语句超时时间(以秒为单位)默认为null5defaultFetchSize指定默认的结果集大小,用于控制内存消耗默认为true6cacheEnabled指定是否启用缓存默认为null7mapUnderscoreToCamelCase指定是否启用自动将下