
Mybatis
文章平均质量分 77
hello1huan
全栈工程师,主业后端,副业前端,兼职运维,欢迎关注!
展开
-
Mybatis学习第一弹
前几天花了一些时间,把hibernate基本过了一遍,上一次学习hibernate框架还是16年的事,这次学习感觉是在学习一个新的框架,基本忘完了,这一点需要反省。工作中hibernate 使用率不高是一方面原因,自己也没有主动的知识积累。为了让自己的知识能有一个明显的积累过程,以后都会尽量坚持写公众号,把工作和学习中的问题、经历做一个总结和分享。总结几点遇到的问题:1、使用 MySQ...原创 2018-09-19 22:22:07 · 189 阅读 · 0 评论 -
Mybatis学习第二弹
今天主要学习了Mybatis中关系映射文件的编写,其中主要包括增删改查SQL语句的编写。在通过Mybatis进行接口化编程时,我们只需要定义相应的接口以及接口方法,然后编写与之对应的映射文件,即可采用接口调用的方式轻松的进行对数据库的操作。映射文件以 <mapper> 标签开始,指定namespace 为对应的 DAO 接口类的全类名,然后在该标签内,可以使用<select&...原创 2018-09-19 22:26:11 · 211 阅读 · 0 评论 -
Mybatis学习第三弹
今天正好学到#{}和${}取值,想到之前面试的时候面试官问 Mybatis 里面的占位符是什么,自己傻傻地说了一个 % ,希望你看完以后不要再犯跟我一样的错误了1、#{} 是Mybatia 中的占位符,它是以预编译(PrepareStatement)的形式,将参数用特定值(“?”)设置到SQL语句中,同时能有效的防止SQL注入;2、${} 是Mybatis中的拼接符,采用直接将取出的值拼装...原创 2018-09-19 22:29:00 · 243 阅读 · 0 评论 -
Mybatis学习第四弹
今天主要谈谈 Mybatis 中对查询的结果集封装规则的学习。通常来说,对于 POJO 我们只需要使用 resultMap 标签对查询的结果集进行封装简单即可,使用 id 子标签封装主键查询结果,使用 result 子标签封装其他列查询结果,使用 result 封装主键,但是不推荐这样做,因为id 子标签对主键的封装会进行底层优化;其中,使用 column 属性指定查询的列名,使用prop...原创 2018-09-19 22:29:57 · 211 阅读 · 0 评论 -
Mybatis踩坑第七弹-MBG逆向工程
经常使用 Mybatis 的同学都知道,通常在使用的时候只需要手动配置一个全局的 XML 配置文件即可,而 javaBean、dao 接口、mapper 映射等文件通常采用逆向工程的方式来自动生成,这样大大节省了时间,同时避免了手写配置文件中容易错写、漏写的东西。 大致说一下使用 Mybatis 逆向工程的流程: 首先,在 GitHub 的 Mybatis 顶级项目下找到 gene...原创 2018-09-26 00:01:46 · 249 阅读 · 0 评论 -
Mybatis踩坑第五弹—DynamicSQL
MyBatis 中用于动态SQL的标签包括 if、where 、choose、trim、foreach、bind、sql,下面来分别说明一下。if 标签可以通过判断传入的值来确定查询条件,其中 test 指定一个OGNL表达式,Mybatis 会根据表达式的值决定是否使用标签体内的查询条件,但是,在某些情况下,只是用 if 标签会出现 SQL 拼装的问题,比如多出来 and 或者 or,通...原创 2018-09-21 01:49:56 · 4632 阅读 · 0 评论 -
Mybatis 踩坑第六弹—缓存
Mybatis 支持两级缓存,分别是一级缓存(session 级别,又称本地缓存)和二级缓存(namespace 级别,又称全局缓存); 其中一级缓存默认开启,在于数据库相同的会话期间查询到的数据会放在本地缓存,之后再查询相同的数据会直接从本地缓存中取;但在四种情况下,一级缓存会失效:1、使用不同的会话请求相同的数据;2、使用相同的会话,请求不同的数据;3、使用相同的会话,在请...原创 2018-09-22 01:17:23 · 1228 阅读 · 0 评论 -
Mybatis踩坑第八弹-运行原理之SqlSessionFactory
大家在学会了如何使用 Mybatis 之后,有没有这样一个疑问——Mybatis 的运行原理到底怎么样的?在看不见的底层,它是如何实现执行增删改查工作的呢?通常情况下,使用 Mybatis 会有四个步骤:(1)获取 SqlSessionFactory,(2)通过 SqlSessionFactory 获取 SqlSession,(3)通过 SqlSession 获取 数据对象的 Mapper 代理...原创 2018-10-09 21:03:41 · 893 阅读 · 0 评论