
Mybatis使用
文章平均质量分 63
Hi梅
bug不见!
展开
-
大集合按照指定长度进行分割成多个小集合,用于批量多次处理数据
通常我们对集合的更新或者保存都需要用集合来承载通过插入的效率,但是这个会遇到一个问题就是你不知道那天那个集合的数量可能就超了,虽然我们连接数据库进行批量提交会在配置上配置allowMultiQueries=true,但是太长了也一样会会报错,这样我们就只能分批查询或者分批插入,需要把大集合拆分成小集合数据,希望接下来的案例可以帮到您。核心代码 : 大集合分割成小集合,这里使用到泛型T,这样我们就可以把该方法提供成公共方法,由调用方决定把集合拆成多大。原创 2023-08-30 18:58:01 · 1434 阅读 · 1 评论 -
Mybatis-plus使用@TableField(fill = FieldFill.UPDATE)完成自动填充字段如保存更新时自动更新时间
使用mybatis-plus完成字段的填充,使用起来也比较方便,当我们往数据库插入一条数据时我们不需要在给指定字段上new Date() ,而是使用mybatis-plus的注解完成完成.并且提供了4种策略枚举让我们使用.按照自己的使用场景进行使用.我们通常会创建一个实体类基类用于继承,该基类上的字段在所有表中都应该存在,比如说创建时间,更新时间,创建者,更新者等信息.例如我创建的基类在这里使用了2种策略枚举分别是。原创 2023-08-29 21:31:10 · 3410 阅读 · 2 评论 -
Mybatis的resultMap映射,手快出现的问题
📣文章目录问题:情景复现:解决方式问题:今天通过Mybatis的ResultMap做实体类与数据库表做映射出现的问题,提示我images没有找到解析器 Caused by: java.lang.IllegalStateException: No typehandler found for property images情景复现:实体类的名称:images数组类型的mapper.xml运行提示错误先卖个关子,第一眼看过去你能不能发现其中的问题所在,如果可以代表你足够细心,可洞察一切,原创 2022-05-22 16:48:14 · 635 阅读 · 0 评论 -
Mybatis的update批量解决方式对比普通更新
文章目录1.第一种:应该是效率最低的更新2.通过批量更新注意事项:使用set导致逗号出现的问题需求前提:通过其他库里面查询出一条数据,并且对另外一个库中的oederId进行更新里面的内容注意:使用批量update时连接数据库的语句需要添加allowMultiQueries=truejdbc:mysql://127.0.0.1:3306/tb?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL原创 2021-11-14 14:36:44 · 1442 阅读 · 0 评论 -
Mybatis中if并且的test写法的问题!
今天遇到个问题,写接口查询库存,有2向参数是选填的,沒有填写的参数默认值为null传递查询出现了查数据显示0条数据,由于语句是sql写好拼接上去的可以保证sql传递的那几个必须填写的数据是可以查询出一条数据的。那为什么在程序中返回0条数据。在配置中添加查询sql语句会打印查询语句和传递的值 #原生配置 configuration: map-underscore-to-camel-case: true cache-enabled: false call-setters-o原创 2021-08-17 11:48:44 · 2307 阅读 · 0 评论 -
Mybatis的参数为数组时使用foreach
Dao的方法:参数是一个数组类型的其主要是在in条件中,可以在SQL语句中迭代一个集合; <select id="getStringByguid" resultType="java.lang.String"> select guid from kjt_inventory where ORDERNO in <foreach collection="array" item="item" index="index" open="(" close=")" separa原创 2021-07-08 17:37:17 · 886 阅读 · 0 评论 -
Mybatis的xml中使用if/else标签
使用if标签进行查询 SELECT orderNo, adname, orderstatus FROM order_A where <if test="order!=null"> order=#{order} </if> <if test="title!=null"> and title=#{title} </if>需要注意的是:如果第一个if的order为null的话 第二值ti原创 2021-06-27 16:20:07 · 56498 阅读 · 9 评论 -
Mybatis的多数据源操作
Mybatis的多数据源操作,由于项目可能涉及到多个库的操作,那么就要设置多个数据,从网上查找可以发现有很多种方法,但是我觉得通过继承的方式实现数据源的切换。1.实现原理:扩展Spring的AbstractRoutingDataSource抽象类(该类充当了DataSource的路由中介, 能有在运行时, 根据某种key值来动态切换到真正的DataSource上。)从AbstractRoutingDataSource的源码中:public abstract class AbstractRout原创 2021-06-20 14:41:03 · 1421 阅读 · 2 评论 -
mybatis-plus 条件构造器queryWrapper学习
Mybatis-plus的官方文档:https://mp.baomidou.com/guide/一、QueryWrapper是什么从官方文档我们可以知道继承自 AbstractWrapper ,自身的内部属性 entity 也用于生成 where 条件及 LambdaQueryWrapper, 可以通过 new QueryWrapper().lambda() 方法获取Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示AbstractWrapper : 用于查询原创 2021-05-31 16:36:17 · 1817 阅读 · 1 评论 -
Mybatis的一些注意事项
使用@SelectKey:用于查询刚刚保存好的数据id值statement:是要运行的SQL语句,它的返回值通过resultType来指定 返回的类型before表示查询语句statement运行的时机keyProperty表示查询结果赋值给代码中的哪个对象的属性,keyColumn表示将查询结果赋值给数据库表中哪一列keyProperty和keyColumn都不是必需的,有没有都可以before=true,插入之前进行查询,可以将查询结果赋给keyProperty和keyColumn,赋给k原创 2020-10-02 13:36:14 · 284 阅读 · 0 评论 -
Mybatis的使用步骤
Mybatis 框架课程第一天第1章 框架概述1.1.1 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。简而言之,框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。1.1.2 框架要解决的问题 &原创 2020-08-22 14:54:57 · 482 阅读 · 0 评论