
mybatis
源码级讲解mybatis常遇问题,吊打面试官系列
程序员4J
知其然知其所以然
展开
-
mybatis中类型别名(typeAliases)的源码解析
前言说到mybatis,不得不说的是它的类型别名机制,mybatis本身使用了很多类型别名(typeAliases),开发者在实际开发中,也会自己定义别名,例如一般会给“实体类”配置类型别名,通过这些类型别名,我们将复杂冗长的类全限定名使用简单的名称来表示。在mapper映射文件中,我们可以用"string"代替"java.lang.String",例如我们一个"idin.sun.study....原创 2020-01-20 16:38:29 · 575 阅读 · 0 评论 -
探究mybatis中的映射器(mappers)
一个异常引发的思考 开发者在使用mybatis时,经常会遇到“org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): xxxxx”和"org.apache.ibatis.binding.BindingException: Type interface xxxMapper i...原创 2020-01-19 18:21:29 · 964 阅读 · 1 评论 -
mybatis中SqlSession的线程安全性讨论
前言 对绝大数Java开发者而言mybatis并不陌生,从经典的SSM(Spring,spring-mvc,mybatis)框架,到现在流行的Springboot,随处可见mybatis的身影。mybatis作为比较主流的orm框架,支持用户定制sql,灵活又方便,颇受开发者喜爱。我们在使用mybatis难免会遇到各种坑,其中SqlSession的线程安全性问题也总会遇到。...原创 2020-01-16 10:45:59 · 5855 阅读 · 7 评论 -
从源码讲解mybatis中#{}和${}的区别
前言看到这个标题读者们会觉得作者在老生常谈。这个面试中问烂了的问题,在百度一搜一大把答案,然而作者发现这些答案无非是如下:#{}是预编译处理,${}是字符串替换Mybatis在处理#{}时,会将sql中的#{}替换为?号,使用sql预编译处理Mybatis在处理时,就是把${}替换成变量的值使用#{}可以有效的防止SQL注入,提高系统安全性等等…当然这些答案言简意赅,通俗易懂,但...原创 2020-01-09 17:12:29 · 717 阅读 · 3 评论