
MyBatis
记录
RT_0114
量变引起质变,生命不止奋斗不息!
展开
-
MyBatis插入数据,返回主键
1、插入参数:list对象2、插完返回主键主键必须是自增的那种dao:void batchInsertReturnPrimaryKey(List<UserTemp> users);dao对应的xml:keyProperty是dto中的主键字段java属性keyColumn是MySQL的主键是数据库字段 <insert id="batchInsertReturnPrimaryKey" useGeneratedKeys="true" keyPro原创 2021-12-10 21:40:22 · 1152 阅读 · 0 评论 -
mybatis批量插入
这里传入的map结构中的key必须是users类似于传list用@Param绑定的别名,map如下。用@Param注解绑定别名,xml中的collection的值要和@Param一致。不用@Param注解绑定,xml的collection的值默认传list固定写法。用mybatis的@Param绑定别名,xml里面collection写别名。的方式在下一篇查询的时候会列举,对于优化系统至关重要。丢掉单条插入,大数据选批量插入。原创 2022-09-05 19:59:16 · 543 阅读 · 0 评论 -
mybatis批量查询效率对比
查询条数foreach耗时${}耗时pstm耗时最快最慢8000030722519596pstmforeach4000015971099330pstmforeach20000860639136pstmforeach10000389315101pstmforeach500022718141pstmforeach2000535616pstmforeach耗时:foreach>${}>PreparedStatement。原创 2022-09-05 19:58:55 · 1647 阅读 · 0 评论 -
mybatis批量插数据效率对比
可以很明显看到当数据量大于4W的时候pstm的效率比foreach高50%左右。在数据量不上万的情况下两者选foreach编码简单,效率可以忽略。插入字段值30+以上,小于30个不统计。分别插入不同数据量对比两种方式的效率。上一篇说到批量插入数据,这里详细对比。原创 2022-09-05 19:58:22 · 431 阅读 · 0 评论 -
mybatis批量更新
mybatis批量更新原创 2022-09-05 19:54:51 · 140 阅读 · 0 评论 -
mysql函数find_in_set
find_in_set用法and find_in_set(#{shareWith},share_with)原创 2021-05-11 20:17:57 · 154 阅读 · 0 评论 -
mybatis判断list查询条件
<if test="@org.apache.commons.collections.CollectionUtils@isNotEmpty(customerNumList)"> AND share.customer_num IN <foreach collection="customerNumList" item="customerNum" open="(" close=")" separator=","> ...原创 2021-05-11 20:13:05 · 497 阅读 · 0 评论 -
mybatis接收以逗号分隔的字符串批量查询
<IF test = " supplierIds !=null and supplierIds.indexOf(',') != -1 "> AND msd.supplier_id NOT IN <foreach collection = "supplierIds.split(',')" item = "item" OPEN = "(" SEPARATOR = "," CLOSE = ")"> #{item} .原创 2020-07-13 08:04:39 · 2621 阅读 · 0 评论 -
mybatis之表单参数去controller
当页面用到form时候,form内的标签用name提交时候,js用jq的serialize序列化之后,对应的实体就会拿到值,在sql里面用实体接收即可,不用再写map了。原创 2019-03-28 16:15:47 · 329 阅读 · 0 评论 -
mybatis传入map参数
在用maybatis时候传入map参数,xml文件取值的时候这样,直接写map里面的key就可以,比如:["name":"锦少","age":"12"]这是个map,在mybatis里面这样#{name}就可以取到,在<if>里面判断的时候也是一样的。...原创 2018-08-24 14:48:30 · 4467 阅读 · 1 评论 -
mybatis中的case when
CASE WHEN a.RS_TYPE='1' THEN '山丘水库' WHEN a.RS_TYPE='2' THEN '平原水库及地下水库' ELSE '未知类型' END AS "rsType",原创 2018-05-14 10:27:12 · 23789 阅读 · 0 评论