MyBatis
初级码奴
学习资源
http://blog.720ui.com
https://www.liaoxuefeng.com/
展开
-
Mybatis批量增删改数据
1、 批量新增<insert id="addTbmList" > INSERT INTO ${tb} (id,s1,s2,s3,s4) VALUES <foreach collection="tbms" item="tbm" separator=","> (#{tbm.id},#{tbm.s1},#{tbm.s2},#{tbm.s3},#{tbm.s4}) </foreach></inser...原创 2021-02-27 16:06:52 · 409 阅读 · 0 评论 -
Mybatis传入参数集合,返回指定列未key的Map
一、Dao/*** 例如10个用户的id为参数,返回以id为key值,User对象为Value值得Map**/@Mapperpublic interface UserDao { // 方式01 参数为UserNo的Set集合 @MapKey("userNo") Map<String,User> map01(Set<String> users); // 方式02 参数为user的List集合 @MapKey("userNo") Map<原创 2020-08-22 15:27:39 · 268 阅读 · 0 评论 -
mybatis调用oracle存储过程 返回结果集
一、ORACLE1、创建包CREATE OR REPLACE PACKAGE pkg_testIS TYPE v_cur IS REF CURSOR; PROCEDURE p_test ( param1 IN VARCHAR2, param2 IN VARCHAR2, p_cur ...原创 2020-03-13 17:12:35 · 1574 阅读 · 0 评论 -
Spring Boot 整合 MyBatis 启用二级缓存
首先,MyBatis 默认是开启一级缓存的,即同一个 sqlSession 每次查询都会先去缓存中查询,没有数据的话,再去数据库获取数据。但是,整合到 Spring 中后,一级缓存就会被关闭。 这时候我们还有二级缓存,它的范围是整个 mapper 的,以命名空间进行区分。 Spring Boot 是号称要消灭配置的框架,底层依然还是 Spring 那些东西,主要...转载 2019-04-12 17:56:22 · 1692 阅读 · 0 评论 -
Mybatis的一对多查询、多条件查询、递归
一、关联查询例如:一个国家对应多个地区,一个地区对应多个城市,在查询国家的时候把地区及城市一并查出//实体类,简单写一下class Country{ String id; String name; List<Area> areas; }class Area{ String id; String name; S...原创 2018-11-19 13:49:35 · 604 阅读 · 0 评论 -
Mybatis查询结果ResultMap的继承
需求:在查询用户表的同时,关联角色表查出角色名称(假设每个用户只有一个角色)//用户类public class User { private String id; private String name; private String roleId; public String getId() { return id; } publi...原创 2018-11-15 13:23:17 · 6277 阅读 · 0 评论 -
MyBatis之java.lang.UnsupportedOperationException异常解决方案
今天在使用MyBatis执行sql语句时,出现如下异常:执行的sql语句配置信息如下:<select id="getColumnsByTableName" parameterType="String" resultType="java.util.List"> select t.column_name from user_tab_columns t where t....转载 2018-10-10 09:22:49 · 1156 阅读 · 1 评论 -
eclipse 安装mybatis-generator两种方法
最近在做一个Mybatis的项目,学习到了一个插件mybatis-generator,即mybatis代码生成器,eclipse的配置方式有2种:离线和在线,2种方法我都尝试了,过程很波折,下面记录下自己的倒腾过程。离线安装第一步:下载Mybatis Generator插件将features和plugins这2个文件夹放到eclipse的安装目录下面,重启后即可 第二步:验...转载 2018-09-12 15:20:05 · 14105 阅读 · 0 评论 -
使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件
出处:http://www.cnblogs.com/lichenwei/p/4145696.htmlMybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。1、相关文件关于Mybatis-Generator的下载可以到这个地址:https://github...转载 2018-09-12 10:47:13 · 117 阅读 · 0 评论 -
《深入理解mybatis原理》(三) MyBatis事务管理机制
MyBatis作为Java语言的数据库框架,对数据库的事务管理是其非常重要的一个方面。本文将讲述MyBatis的事务管理的实现机制。首先介绍MyBatis的事务Transaction的接口设计以及其不同实现JdbcTransaction 和 ManagedTransaction;接着,从MyBatis的XML配置文件入手,讲解MyBatis事务工厂的创建和维护,进而阐述了MyBatis事务的创建和...转载 2018-08-02 10:47:44 · 179 阅读 · 0 评论 -
《深入理解mybatis原理》(二) MyBatis的二级缓存的设计原理
MyBatis的二级缓存是Application级别的缓存,它可以提高对数据库查询的效率,以提高应用的性能。本文将全面分析MyBatis的二级缓存的设计原理。1.MyBatis的缓存机制整体设计以及二级缓存的工作模式 如上图所示,当开一个会话时,一个SqlSession对象会使用一个Executor对象来完成会话操作,MyBatis的二级缓存机制的关键就是对这个Exe...转载 2018-07-31 17:31:12 · 147 阅读 · 0 评论 -
《深入理解mybatis原理》(一) MyBatis的一级缓存实现详解 及使用注意事项
0.写在前面 MyBatis是一个简单,小巧但功能非常强大的ORM开源框架,它的功能强大也体现在它的缓存机制上。MyBatis提供了一级缓存、二级缓存 这两个缓存机制,能够很好地处理和维护缓存,以提高系统的性能。本文的目的则是向读者详细介绍MyBatis的一级缓存,深入源码,解析MyBatis一级缓存的实现原理,并且针对一级缓存的特点提出了在实际使用过程中应该注意的事项。 ...转载 2018-07-31 17:03:17 · 137 阅读 · 0 评论