![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
J2EE-mybatis
布拉格的爱
哪有什么岁月静好,只不过是有人替你负重前行
展开
-
mybatis配置全局变量
在mybatis使用中,需要定义全局变量,每个mapper都要使用该值,开始开发时每个参数都要传值,非常麻烦,于是查了一下,看下mybatis 有没有支持全局配置参数的方法,果然有提供的,免去了传参数的烦恼! 方法一 实例化sqlSessionFactory的时候添加上mybatis-configuration.xml的配置文件<bean id="sqlSessionFactory" class="org.mybatis.sprin...原创 2022-05-01 09:33:44 · 2463 阅读 · 0 评论 -
在Mybatis中,使用bean传值,当传入值为Null时,提示“无效的列类型”的解决办法
一、指定jdbcType<insert id="insert" parameterType=""> <selectKey keyProperty="id" resultType="int"> select SEQ_USER_ID.nextval as id from dual </selectKey> insert into MS_USER(id, mobile_phone, user_name) values(#{i原创 2021-02-02 17:09:58 · 1038 阅读 · 0 评论 -
Mybatis中resultMap和resultType的区别
MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性,而当我们提供的返回类型是resultMap的时候,将数据库中列数据复制到对象的相应属性上,可以用于复制查询,两者不能同时用。1、resultType返回单个实例<select id...转载 2020-01-03 17:43:46 · 768 阅读 · 0 评论 -
mybatis 中的条件转义字符处理
在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决。<![CDATA[ ]]> 是什么,这是XML语法。在CDATA内部的所有内容都会被解析器忽略。如果文本包含了很多的"<"字符 <=和"&"字符...原创 2019-05-12 10:40:46 · 959 阅读 · 0 评论 -
由浅入深分析mybatis通过动态代理实现拦截器(插件)的原理 !很值得一看
最近在用mybatis做项目,需要用到mybatis的拦截器功能,就顺便把mybatis的拦截器源码大致的看了一遍,为了温故而知新,在此就按照自己的理解由浅入深的理解一下它的设计。 和大家分享一下,不足和谬误之处欢迎交流。直接入正题。 首先,先不管mybatis的源码是怎么设计的,先假设一下自己要做一个拦截器应该怎么做。拦截器的实现都是基于代理的设计模式设计的,简单的说就是要创造一个目标类的代...转载 2018-09-23 18:23:56 · 302 阅读 · 0 评论 -
MyBatis框架及原理分析
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:封装JDBC操作 利用反射打通Java类与SQL语句之间的相互转换MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。 MyBatis的配置MyBatis框架和其他绝...转载 2018-05-17 11:08:58 · 361 阅读 · 0 评论 -
MyBatis动态SQL底层原理分析
前言废话不多说,直接进入文章。我们在使用mybatis的时候,会在xml中编写sql语句。比如这段动态sql代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <update id="update" paramet...转载 2018-05-17 10:57:54 · 1734 阅读 · 1 评论 -
mybatis之<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>
1.<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>prefix:在trim标签内sql语句加上前缀。suffix:在trim标签内sql语句加上后缀。suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除tri转载 2018-03-05 11:25:47 · 391 阅读 · 0 评论 -
mybatis 结果返回原理
1,执行 select id,name ,address from emp 2, 查询 5条数据; 3,mybatis 根据存入结果类型 map 放入 对象 和 数据 sa.areaCode as “areaCode”, sa.areaScore as “areaScore”, 4,再放入list map.put(“areaS原创 2017-07-20 14:57:29 · 709 阅读 · 0 评论 -
mybatis循环map的一些技巧
标签的用法: 六个参数: collection:要循环的集合 index:循环索引(不知道啥用。。) item:集合中的一个元素(item和collection,按foreach循环理解) open:以什么开始 close:以什么结束 separator:循环内容之间以什么分隔<update id="buildTableSQL" statementType="STATEMENT">原创 2017-07-03 17:00:37 · 405 阅读 · 0 评论 -
mybatis 中#与$的区别
#{} 解析的是占位符?可以防止SQL注入,比如打印出来的语句 select from table where id=?*然而${} 则是不能防止SQL注入打印出来的语句 select * from table where id=2 实实在在的参数原创 2017-07-03 14:21:59 · 182 阅读 · 0 评论