MyBatis
文章平均质量分 83
jushisi
一点点好奇心,一点点求知欲
展开
-
MyBatis一级缓存、二级缓存
一级缓存Mybatis的一级缓存是指SqlSession级别的缓存。一级缓存的作用域默认是一个SqlSession。Mybatis默认开启一级缓存。第一次发出一个查询sql,sql 查询结果写入 sqlsession 的一级缓存中,缓存使用的数据结构是一个 map。同一个 sqlsession 再次发出相同的 sql,就从缓存中取出数据。如果两次中间出现 commit 操作(修改、添加、删除,本 SqlSession 中的一级缓存区域全部清空,下次再去缓存中查询不到所以要从数据库查询,从数据库查询到原创 2021-01-07 11:30:20 · 142 阅读 · 0 评论 -
MyBatis中${}的用法
参考:https://blog.csdn.net/weixin_44142296/article/details/96436951‘${}’ 传列名,使用聚合函数表t_user有如下4 个字段:id 、name、 age 、 consume_amt如果需求是有时候是要age的平均数, 有的是consume_amt的平均数,那么可以把列表传到SQL中查询。如下:mapper.xml <select id="getAvg" parameterType="java.lang.Strin.原创 2020-08-27 13:52:45 · 5765 阅读 · 0 评论 -
Java面试之MyBatis
125. MyBatis 中 #{}和 ${}的区别是什么?#{}是预编译处理,${}是字符替换。 在使用 #{}时,MyBatis 会将 SQL 中的 #{}替换成“?”,配合 PreparedStatement 的 set 方法赋值,这样可以有效的防止 SQL 注入,保证程序的运行安全。126. MyBatis 有几种分页方式?分页方式:逻辑分页和物理分页。逻辑分页: 使用 MyB...转载 2020-04-29 14:58:10 · 213 阅读 · 0 评论 -
Mybatis传递List集合
第一种: 参数是常规的List, 但是xml变量名不是list------报错完整错误如下:org.apache.ibatis.binding.BindingException: Parameter ‘customerIdList’ not found. Available parameters are [collection, list]解释:当我们传递一个 List 实例或者数组作为参数对象传给 MyBatis。当你这么做的时 候,MyBatis 会自动将它包装在一个 Map 中,用名称原创 2020-06-10 20:57:00 · 24440 阅读 · 1 评论 -
Mybatis坑 相同对象批量新增到数据库只有一条
/* 最后方式一通过mybatis 3.3.1 的批量新增的时候 只在数据库中加了一条 但是方式二通过mybatis 3.3.1 的批量新增的时候 在数据库中加了5条 */ /* 方式一*/ Integer couponNum = 5; List<UserCoupon> list = new ArrayList<UserCoupon>(); UserCoupon userCoupon = new UserCoupon(); userCoupon.set.原创 2020-05-22 10:26:03 · 549 阅读 · 0 评论 -
mybatis 批量update运用case-when语句
<update id="batchUpdate" parameterType="java.util.List"> update t_scte_goods <trim prefix="set" suffixOverrides=","> update_time=current_timestamp, <trim prefix="sell_state ...原创 2019-10-15 14:55:19 · 4016 阅读 · 0 评论 -
mybatis 一对多 映射的用法
1、只用一条SQLpublic class CouponGoodsTypeVO { private Long typeId; private String typeName; private String channelType; List<CouponGoodsInfoVO> goodsList;} <...原创 2019-05-21 14:45:09 · 259 阅读 · 0 评论