ORM-Ibatis/Mybatis
文章平均质量分 65
OkidoGreen
这个作者很懒,什么都没留下…
展开
-
SpringBoot使用AbstractRoutingDataSource配置多数据源后sql日志不打印解决方案
简而言之:因为自定义了sqlSessionFactory,所以需要重新设置 mybatis的configuration,因为非默认的SqlSessionFactory无法自动读取 yaml中的 mybatis-configuration配置项。Springboot-整合多数据源配置 & AbstractRoutingDataSource详解,分析多数据源切换原理_springboot 2.1.8 版本 与 abstractroutingdatasource-CSDN博客。原创 2024-02-07 10:21:47 · 917 阅读 · 0 评论 -
SpringBoot-Mybatis-PageHelper分页使用
(1401条消息) PageHelper详解_32码奴的博客-CSDN博客_pagehelper。转载 2022-11-04 17:24:03 · 1099 阅读 · 0 评论 -
Mybatis单个参数报错: There is no getter for property named
总结:mybatis传单个String类型,可以不用@param注解,前提是xml中不含有条件表达式(when,if..标签中没有引用到该参数)1.首先看一下方法,是一个简单的查询,参数只有一个String,印象中dao层方法只有一个string的时候,3.如果mybatis的if标签去掉,就可以正常运行,如果要使用条件表达式那就要在dao层加param标签。这里注意一下,错误的地方是用红框圈起来的哪里,也是就条件表达式,并非where语句。2.但是报错了,提示该字段没有get方法。转载 2022-09-26 13:58:52 · 489 阅读 · 0 评论 -
Mybatis源码分析:@Mapkey的使用
使用@Mapkey时最好将K设置为唯一的,否则后续的结果将会覆盖已查询到的结果,如果设置的@Mapkey设置的value为空或者一个跟查询结果不匹配的字段,那么查到的记录K成了null,查询结果始终都是最后一条。在多值查询的时候,通常要把方法返回类型设置为List类型,Mybatis为我们提供了另一种解决方式,通过K-V的形式将查询结果保存在Map中,这种实现方式只需要在方法上标注为@Mapkey即可。@Mapkey的使用。...转载 2022-07-18 15:43:31 · 1205 阅读 · 0 评论 -
Mybatis批量插入Oracle
本文简单总结了在MyBatis中往Oracle批量插入数据的方法,作一个快速笔记。转载 2022-07-15 09:36:41 · 6994 阅读 · 0 评论 -
Mybaits 注释需谨慎!
今天运行项目遇到一个报错Caused by: org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='code', mode=IN, javaType=class java.lang.Object, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expres转载 2022-06-09 16:20:05 · 297 阅读 · 0 评论 -
SpringBoot、Druid、Mybatis多数据源配置
原理可以参考:(503条消息) Springboot-整合多数据源配置 & AbstractRoutingDataSource详解,分析多数据源切换原理_z69183787的专栏-CSDN博客https://blog.csdn.net/z69183787/article/details/119593499import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;public class Dynam原创 2021-12-30 16:00:18 · 409 阅读 · 1 评论 -
Springboot-整合多数据源配置 & AbstractRoutingDataSource详解,分析多数据源切换原理
简介主要介绍两种整合方式,分别是 springboot+mybatis 使用分包方式整合,和 springboot+druid+mybatisplus 使用注解方式整合。一、表结构在本地新建两个数据库,名称分别为db1和db2,新建一张user表,表结构如下:SQL代码:CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(25) NOT NULL C转载 2021-08-11 10:12:32 · 1234 阅读 · 0 评论 -
【Mybatis】解决Oracle查询处理in条件超过1000条的问题
直接上SQL吧,思路很简单:select * from test_tablewhere 1 = 1<!-- IdList --><if test="IdList != null and IdList.size > 0"> AND PK_ID IN <!-- 处理in的集合超过1000条时Oracle不支持的情况 --> <trim suffixOverrides=" OR PK_ID IN()"> <...转载 2021-04-02 13:17:39 · 705 阅读 · 0 评论 -
解决mybatis使用char类型字段查询oracle数据库时结果返回null问题
同事在学mybatis时,遇到了一个问题就是,使用char类型字段作为查询条件时一直都查不出数据,其他类型的则可以。使用的数据库是oracle,查询条件字段类型是char(50),java代码对应的是String类型。后来经过排查,是由于在oracle中,char类型字段,如果内容长度不够,会自动以空格方式补足长度。如字段 name char(5),若值为sgl,那么oracle会自动用空格补足长度,最终值为sgl。一、解决方法:方法1:先用trim()函数把值去掉两边空格再作为条件查询,如转载 2021-03-18 17:28:51 · 1699 阅读 · 0 评论 -
使用ImportBeanDefinitionRegistrar动态创建自定义Bean到Spring中【Mybatis-注册Mapper相关】
注:spring自身的扫描中添加了includeFilter,仅将包含@Component注解的Class注册成Bean,但在Mybatis的mapper扫描中,mybatis使用的ClassPathMapperScanner未设置默认状态,所以无需Class上有 @Component等注解即可注册成Bean这也是为什么 mapper 有时候不需要加@Repository注解也可以注册成Bean的原因参考:https://zhuanlan.zhihu.com/p/91461558简介Im转载 2021-02-25 18:00:49 · 853 阅读 · 1 评论 -
mybatis 整合spring之mapperLocations配置的问题
今天尝试spring整合mybatis时遇到这么一个问题,就是在配置sqlSessionFactory时是否要配置mapperLocations的问题。<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="datasource"></property> <property name=转载 2020-12-08 10:24:35 · 2442 阅读 · 0 评论 -
Mybatis-Plus-逆向代码生成参考文档
mybatis-plus介绍:https://blog.csdn.net/z69183787/article/details/108908026开源mybatis-plus代码生成器(参考):1、https://gitee.com/rwxing/mpg/blob/master/src/main/test/test.java2、https://github.com/VonChange/spring-data-mybatis-miniSpring-Boot 各组件集成demo:1、https原创 2020-10-07 09:34:04 · 559 阅读 · 0 评论 -
mybatis-plus的使用 ------ 进阶
前言:关于mybatis-plus的简介以及基本使用,我在《mybatis-plus的使用 ------ 入门》一文中已做介绍,此处不再赘述。本文主要对mybatis-plus的AR模式、插件、逆向工程、自定义全局操作、公共字段自动填充等知识点进行讲解。欢迎大家关注我的公众号 javawebkf,目前正在慢慢地将简书文章搬到公众号,以后简书和公众号文章将同步更新,且简书上的付费文章在公众号上将免费。一、ActiveRecord:Active Record(活动记录),是一种领域模型模式,特点转载 2020-10-03 09:55:16 · 680 阅读 · 0 评论 -
mybatis-plus的使用 ------ 入门
前言:mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中通过SQL语句操作数据库,很是灵活。但正其操作都要通过SQL语句进行,就必须写大量的xml文件,很是麻烦。mybatis-plus就很好的解决了这个问题。欢迎大家关注我的公众号 javawebkf,目前正在慢慢地将简书文章搬到公众号,以后简书和公众号文章将同步更新,且简书上的付费文章在公众号上将免费。一、mybatis-plus简介:Mybatis-Plus(简称MP)是一个 Myba转载 2020-10-03 09:53:49 · 808 阅读 · 0 评论 -
关于Mybatis扫描所有mapper包并生成dao实例不需要显示注入SqlSessionFactory的原因探查
大家都知道,一般spring配合mybatis会引入 mybatis-spring-1.2.2 这个jar包,会用到以下的类,在配置文件中<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.xxxx....原创 2020-02-27 21:16:28 · 2237 阅读 · 0 评论 -
Intellij IDEA 通过数据库表生成带注解的实体类详细步骤
前言:idea 功能很强大,以前不知道有这样的提升工作效率的方法,虽然有的工具确实可以直接生成实体类,mapper文件,还有dao接口,但是个人觉得涉及到复杂业务还是只生成实体类比较好,后面部分就自己搞定就可以了。一、连接数据库打开项目:1、点击右侧的datesource图标,要是没有该图标,请去自行百度2、点击 + 号3、选择 datasource4、选择 mysql...转载 2019-12-05 16:01:14 · 2469 阅读 · 1 评论 -
Mybatis generator 自动生成代码时 ,insert如何返回主键值
如果要让generator自动添加该功能,可以如下配置: enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"原创 2016-06-02 12:31:22 · 19510 阅读 · 1 评论 -
对ORM的支持 之 8.3 集成iBATIS ——跟我学spring3
8.3 集成iBATIS iBATIS是一个半自动化的ORM框架,需要通过配置方式指定映射SQL语句,而不是由框架本身生成(如Hibernate自动生成对应SQL来持久化对象),即Hibernate属于全自动ORM框架。Spring提供对iBATIS 2.X的集成,提供一致的异常体系、一致的DAO访问支持、Spring管理事务支持。 Spring转载 2013-12-05 15:50:23 · 5065 阅读 · 0 评论 -
Mybatis传递多个参数的解决办法(三种)
第一种方案DAO层的函数方法Public User selectUser(String name,String area);对应的Mapper.xmlselect * from user_user_t where user_name = #{0} and user_area=#{1}其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表d转载 2017-07-25 12:02:20 · 23696 阅读 · 5 评论 -
【Mybatis】 自定义SqlSessionFactoryBean扫描通配符typeAliasesPackage
typeAliasesPackage 默认只能扫描某一个路径下,或以逗号等分割的 几个路径下的内容,不支持通配符和正则,采用重写的方式解决package com.xxxx.xxx.util.common;import com.xxxx.xxx.util.LogUtil;import org.apache.commons.lang3.StringUtils;import org.原创 2016-06-02 13:39:38 · 13448 阅读 · 0 评论 -
Mybatis3.2.1整合Spring3.1及MapperScannerConfigurer详解
根据官方的说法,在ibatis3,也就是Mybatis3问世之前,Spring3的开发工作就已经完成了,所以Spring3中还是没有对Mybatis3的支持。因此由Mybatis社区自己开发了一个Mybatis-Spring用来满足Mybatis用户整合Spring的需求。下面就将通过Mybatis-Spring来整合Mybatis跟Spring的用法做一个简单的介绍。MapperFactor原创 2016-06-02 13:40:23 · 1568 阅读 · 0 评论 -
SSM 配置
pom.xml(parent): http://xxxxx http://xxxxx http://xxxxx http://xxxxx UTF-8 false 1.0.0-SNAPSHOT 1.6 qa 3.1.0 4原创 2017-01-22 18:06:58 · 1037 阅读 · 0 评论 -
MyBatis-Spring配置简单了解
MyBatis-Spring配置简单了解[SqlSessionFactoryBean](https://mybatis.github.io/spring/zh/factorybean.html)配置在基本的 MyBatis 中,session 工厂可以使用 SqlSessionFactoryBuilder 来创建。而在 MyBatis-Spring 中,则使用 SqlSession转载 2015-10-06 19:26:44 · 1339 阅读 · 0 评论 -
MyBatis 延迟加载,一级缓存,二级缓存设置
http://www.cnblogs.com/QQParadise/articles/5109633.html什么是延迟加载 resultMap中的association和collection标签具有延迟加载的功能。 延迟加载的意思是说,在关联查询时,利用延迟加载,先加载主信息。使用关联信息时再去加载关联信息。设置延转载 2017-07-13 18:32:09 · 1078 阅读 · 0 评论 -
mybatis的嵌套查询和延迟加载分析
http://xpenxpen.iteye.com/blog/2124198本文我们研究mybatis的嵌套查询和延迟加载。 1.预备知识 resultMap是mybatis里的一个高级功能。通过利用association和collection,可以做到将多个表关联到到一起,但又不用写JOIN这种复杂SQL,有点类似于hibernate、JPA。 如果不熟悉result转载 2017-07-13 18:37:23 · 1811 阅读 · 0 评论 -
MyBatis学习五:延迟加载
一、什么是延迟加载resultMap可实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。需求:如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。延迟加载:先从单表查询,需要时再从关联表去关联转载 2017-07-13 18:25:59 · 713 阅读 · 0 评论 -
深入浅出Mybatis系列(九)---强大的动态SQL
http://www.cnblogs.com/dongying/p/4092662.html上篇文章《深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap》简单介绍了mybatis的查询,至此,CRUD都已讲完。本文将介绍mybatis强大的动态SQL。那么,问题来了: 什么是动态SQL? 动态SQL有什么作用? 传统的转载 2017-07-04 11:27:22 · 1687 阅读 · 0 评论 -
ibatis使用-动态创建表
<![CDATA[ CREATE TABLE Push_User_Subscribe_#activityId:INTEGER# ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL COMMENT '用户id', `sce转载 2017-03-06 15:44:22 · 3879 阅读 · 0 评论 -
Mybatis批量插入返回插入成功后的主键id
我们都知道Mybatis在插入单条数据的时候有两种方式返回自增主键:1、对于支持生成自增主键的数据库:增加 useGenerateKeys和keyProperty ,标签属性。2、不支持生成自增主键的数据库:使用。但是怎么对批量插入数据返回自增主键的解决方式网上看到的还是比较少,至少百度的结果比较少。Mybatis官网资料提供如下:First,转载 2017-08-04 15:58:45 · 6025 阅读 · 0 评论 -
Mybatis 批量插入返回 主键ID
之前版本的mybatis有Bug,故无法获取或报错,以下版本可以正确使用: org.mybatis mybatis 3.4.4 org.mybatis mybatis-spring 1.3.1原创 2017-08-04 15:47:59 · 5908 阅读 · 2 评论 -
Mybatis && mysql 字段名是关键字 报错
DROP TABLE IF EXISTS `bas_dictionary`;CREATE TABLE `bas_dictionary` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL COMMENT '字典名称', `key` varchar(50) NOT NULL COMMENT '代码',转载 2017-09-25 15:30:51 · 40484 阅读 · 0 评论 -
mybatis ---- 级联查询 一对多 (集合映射)
关联有嵌套查询和嵌套结果两种方式,本文是按照嵌套结果这种方式来说明的上一章介绍了多对一的关系,用到了,这是一个复杂类型的关联。我们选择一个示例来回顾下,比如:一个博客有一个用户,关联映射就工作于这种结果之上。首先看下,我们在本文中要用到的表结构字段:[sql] view plaincopy博客 blog : id title转载 2015-07-10 17:42:43 · 24323 阅读 · 3 评论 -
Mybatis原理之参数处理(SQL parameter处理,非OGNL判断)
前言Mybatis参数处理是Mybatis核心内容,围绕着Mybatis的面试题也是层出不穷。接下来跟随源码看下Mybatis是如何处理参数的。代码示例MapperLoanApplicationEntity getByLoanAppCode(@Param("loanAppCode") String loanAppCode);XML<select id="getB...转载 2019-09-16 16:45:09 · 1221 阅读 · 0 评论 -
MyBatis的useGenerateKeys的使用方法
https://blog.csdn.net/u012060033/article/details/79948353需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。方法:在mapper中指定keyProperty属性,示例如下:Xml代码<insertid="insertAndGetId"useGeneratedKeys...转载 2019-06-26 11:41:22 · 2723 阅读 · 0 评论 -
[mybatis]Example的用法
https://www.cnblogs.com/duanwandao/p/9984629.html正文回到顶部Example类是什么?Example类指定如何构建一个动态的where子句. 表中的每个non-BLOB列可以被包括在where子句中. 例子是展示此类用法的最好方式.Example类可以用来生成一个几乎无限的where子句.Example类包含一个内部静态类 C...转载 2019-06-07 13:50:09 · 1341 阅读 · 0 评论 -
MyBatis之TypeHandler
https://www.cnblogs.com/yulinfeng/p/5991170.html 在大学写web应用的时候经常会遇到这么个问题,当我要插入一条数据,某个数据是Date类型,数据库中却是VARCHAR类型,这个时候可能会傻乎乎的先把这个数据自己手动转换成String类型再插入到数据库中,其实大可不必。MyBatis为我们提供了更好的方法即是TypeHandler来应对Java...转载 2018-09-21 11:09:55 · 703 阅读 · 0 评论 -
MyBatis 一、二级缓存和自定义缓存
https://www.cnblogs.com/moongeek/p/7689683.html 目录导航1、一级缓存 2、二级缓存 3、自定义缓存1、一级缓存 MyBatis 默认开启了一级缓存,一级缓存是在SqlSession 层面进行缓存的。即,同一个SqlSession ,多次调用同一个Mapper和同一个方法的同一个参数,只会进行一次数据库查询,然后把数据缓存到...转载 2018-08-30 14:38:42 · 1145 阅读 · 0 评论 -
Mybatis @MapKey注解的使用
https://blog.csdn.net/weixin_41023230/article/details/80103990https://blog.csdn.net/ClementAD/article/details/50589459 业务场景从数据库查出多条数据,包括id和name两个字段。希望可以把结果直接用Map接收,然后通过map.get(id)方便地获取name的值。...转载 2018-08-27 21:45:06 · 2972 阅读 · 0 评论 -
mybatis的mapper返回map结果集
https://blog.csdn.net/huanyinghanlang/article/details/79194005 通过MapKey指定map的key值 @MapKey("id") Map<Long, UserInfo> getUserInfoMap(); @MapKey("id") Map<Long, Map...转载 2018-08-27 21:41:58 · 10828 阅读 · 1 评论