![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MyBatis
OK_boom
大龄搬砖工,酷爱计算机技术,java/C#/android/free pascal/C++。
展开
-
备注一下mybatisplus @TableField指定字段名无效的解决方法
结果,怎么都不认这个thisid, 后来经提醒,@TableId也要同时指定,不然那边就优先考虑了,所以改为@TableId(value=“thisid”,type = IdType.AUTO)即可。要不是群有老哥提醒,怎么都不会想到。原创 2022-12-14 11:19:47 · 1195 阅读 · 0 评论 -
Mybatis的resultmap的继承、关联
有一个数据集输出如下,a表与b表关联,a表主键recseq,其他字段为f96_*,b表主键b_recseq,其他字段为source/keyPart/supplier/comment/sn由于source/keyPart/supplier/comment是通用字段,其他地方也会复用,所有将这4个字段抽离,entity如下:@Data@NoArgsConstructorpublic class KeyBase { private String recseq; private String so原创 2021-11-19 09:49:46 · 1527 阅读 · 0 评论 -
Mybatis手册
添加链接描述原创 2021-11-19 08:48:18 · 38 阅读 · 0 评论 -
mybatis中代码复用问题resultMap、sql、include标签
如果是单纯的引用其他xml的baseresultmap,可以直接在resultMap里面引用,如resultMap=“com.xx.yy.mybatis.dao.AMapper.BaseResultMap”xml映射文件对于重复出现的sql 片段可以使用sql标签提取出来,在使用的地方使用include标签引用即可MyBatis之ResultMap标签ResultMap标签基本作用:建立SQL查询结果字段与实体属性的映射关系信息在深入ResultMap标签前,我们需要了解从SQL查询结果集到Ja转载 2021-11-15 15:07:52 · 1718 阅读 · 0 评论 -
Spring整合Mybatis(备忘)
有一个老项目用的是hibernate,太难用了,决定加上mybatis支持,先建立Spring的mybatis配置文件, 这个配置文件里让Spring容器加载两个类,一个是MybatisSqlSessionFactoryBean,一个是MapperScannerConfigurer,之所以变成xml里面我自已的类,是因为我想跟踪调试一下加载是否正常。需要注意的是mybatis-config.xml配置文件里面应该只配置一些别名和其他配置,而mappers这节应该是空的,留待MapperScannerCo.原创 2021-09-03 14:29:36 · 145 阅读 · 0 评论 -
Mybatis get回来的数据为什么全是null??
如题,不止一次浪费了我很多时间,备忘一下。 很多时间我们需要在mybatis xml里面手写查询,返回结果需要映射的java 模型也需要手写,这个模型则在xml查询定义里面的resultType指定。 但是经常会发生一个事情就是,明明查询结果没问题,为什么java端拿到的全是null的数组?? 问题就出在查询返回的列名与java模型的属性名对不上号,比那查询返回列为f9i_sn,而java模型则用的是小驼峰f9iSn。 这时候最直接的做法是修改查询,重新改一下输出列名以跟模型里面的属性名一..原创 2021-09-03 08:33:49 · 272 阅读 · 0 评论 -
Postgresql的json数组在java/mybatis的匹配
pg的table schema:CREATE TABLE tah_so_info( salesid character varying(20) NOT NULL, ... gentlementpo character varying(20), lines json[], methodofpayment character varying(15), modeofdelivery character varying(15), ... CONSTRAINT tah_pkey.原创 2021-08-27 16:37:26 · 1434 阅读 · 0 评论 -
mybatis处理list/数组条件参数的典型方式
由于pg支持any方式查询,只要传入的数组不大,完全可以用any(array[])的方式进行查询,这种方式pg会提供索引支持。mybatis里面还要排除传入的参数是不是null或空的数组,具体实现如下:<select id="getSoListByIds" resultMap="BaseResultMap"> select * from public.tah_so_info where <choose> <when test="s原创 2021-08-27 11:44:56 · 614 阅读 · 0 评论 -
Mybatis 表映射类中添加额外的字段属性
有时候, 我们需要在表映射类里面添加一些额外的属性,而这些属性在对应的表中没有对应字段的, 如果不加处理, 在mybatis做insert/update时会出错, 这时候需要用@Transient把这个类属性/变量作注解, mybatis在处理数据库时就会忽略它....原创 2020-12-10 15:31:57 · 1904 阅读 · 0 评论 -
在Mybatis的XML里面调用java方法实现获取表的字段列表
因为Tk.mybatis默认用MyBatis3Simple的执行器生成的mapper xml只有BaseResultMap而不带Base_Column_List,自己又懒不想每个field手打上去,于是想到在mapper的xml里面调用java自动生成. 这个需求涉及两个方面的技术要求,一个是如何在xml里面调用java方法,另一个是如何通过table name获取它的colu...原创 2019-08-12 15:01:23 · 2836 阅读 · 2 评论 -
自己手写Mybatis 通用batchInsert
写完才在群里有人告知本来tk mybatis就提供了批量insert的功能,那就放上来做个纪念吧. 先写个数据字典(其实tk mybatis自身也有相应的功能)。/** * Mybatis 带缓冲功能的数据字典 * Created by rocklee on 2019/8/10 23:27 */public class MybatisDictionary { pr...原创 2019-08-11 22:51:30 · 6965 阅读 · 0 评论 -
Mybatis 对pg中的any的查询条件的写法
XML<select id="selectIn1" resultType="map"> SELECT <trim suffixOverrides=","> fg_series,fg_desc,fg_create_by,fg_create_dt,fg_update_by,fg_update_dt,fg_form_factor,fg_status &...原创 2019-08-11 22:39:22 · 2070 阅读 · 3 评论 -
Mybatis笔记: 各组件的生命周期
SqlSessionFactoryBuilder: 它的用途仅仅用于产生SqlSessionFactory实例, 一旦产生后基本上没用,应该销毁.SqlSessionFactory: 相当于缓冲池(如连接池)的作用, 用于派发和回收SqlSession, 一般是单实例整个web app共用, 生命周期应该和web app等同.SqlSession: ...原创 2018-05-12 17:22:16 · 327 阅读 · 0 评论 -
Proxool & Mybatis整合的配置及例子(无spring依赖)
Proxool是一个非常优秀的数据库连接池组件, 下面介绍如何在无spring容器的环境下让Mybatis调用Proxool管理的数据库连接. 首先,我们定义ProxoolUtils工具类,提供loadProxool方法加载数据库连接池.package com.freestyle.common.db.proxool;/*** * Proxool工具类 * @a...原创 2018-05-28 09:39:29 · 744 阅读 · 0 评论 -
Mybatis手动热加载
原代码来自网络, 重组了代码并优化了isChanged的判断 (删除/增加/更新xml均能侦测), 此热加载工具可以脱离spring容器运行, 有利于加快junit调试. package com.freestyle.common.db.mybatis;import java.io.IOException;import java.lang.reflect.Field;impo...原创 2018-05-30 11:17:20 · 1159 阅读 · 0 评论 -
Mybatis笔记: 返回Map & List<Map>动态列数据集
我们做查询/报表的时候多用map/list<map>来实现查询数据的返回,那么mybatis如何实现? 1/在mapper.xml里面增加两个select function, 他们的resultType都指定为HashMap:<select id="selectListMap" parameterType="java.lang.String" res...原创 2018-05-30 11:49:02 · 6618 阅读 · 0 评论 -
Mybatis笔记 : 动态生成临时表并引用..
Mybatis可以通过在xml里面增加update来执行DDL,所以,我们在TaUserMapper.xml里面增加:<update id="createTempTable" > create temp table ${pvsTb} as select fa_login, fa_name, fa_status, fa_type, fa_create_by, fa...原创 2018-05-30 12:30:08 · 23729 阅读 · 14 评论 -
基于Mybatis的通用分页查询实现
写在前面: 这套数据结构在spring+hibernate的框架上已经成熟运行多时,可直接将web前端的table查询插件生成的查询条件通过组件自动转换为CommonReqInqBean实例,然后调用HibernateGenericDao.pagedQuery完成分页查询,生成Page对象,然后将Page对象赋值给TableResponseBean的result属性。 此文说明如何将此...原创 2018-05-31 16:54:16 · 3137 阅读 · 2 评论 -
Mybatis从Mapper实例获取Sqlsession对象
在一个事务中,若想利用mapper实例同一个sqlsession来同时做其他事,因为mapper字面的定义为interface,没有任何其他可用属性,但在运行过程中发现其实这个mapper实例已经被动态代理实例化了,具体可参考这位大神的分析:https://www.bbsmax.com/A/nAJvPBw3dr/ 因为mapper实例的真实处理代理类是Mappe...原创 2019-03-23 15:52:38 · 3383 阅读 · 1 评论 -
Maven多模块下,扫描不到子模块mybatis xml文件的解决方法
有一个Maven项目,里面有common模块和主模块,其中common模块中有若干个mybatis的mapper和xml,结果主模块调用其mapper时提示出错,原因是找不到mapper对应的xml映射关系. 查资料得知,主模块的application.yml里面,配置mybatis的mapper-locations时,用的是classpath,只...原创 2019-07-13 10:06:57 · 7503 阅读 · 0 评论 -
SpringBoot 整合Tk.mybatis & Tk mybatis generator
首先,pom不能引用mybatis-spring-boot-starter,加入tk mybatis依赖:<!-- https://mvnrepository.com/artifact/tk.mybatis/mapper-spring-boot-starter --> <dependency> <groupId&...原创 2019-07-13 11:28:44 · 1612 阅读 · 0 评论 -
在spring里配置mybatis
首先在spring配置proxool数据源这些不说, 我们先在src/main/resources/spring-config/下建立spring-mybatis.xml.把sqlSession放在spring容器里管理:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframe...原创 2018-04-21 16:16:29 · 213 阅读 · 0 评论