
myBatis
文章平均质量分 83
yangliuhbhd
这个作者很懒,什么都没留下…
展开
-
MyBatis SQL应用
1.数据库使用xml文件中防止SQL注入,涉及模糊查询的语句 AND OBJECT_NAME like concat(concat('%',#{objectName}),'%') 2.map和List,array相比,map是用K,V存储的,在foreach中,使用map时,index属性值为map中的Key的值。因为map中的Key不同于list,arra原创 2017-05-06 16:23:30 · 396 阅读 · 0 评论 -
MyBatis 学习笔记(一),运行原理SqlSessionFactory的初始化
MyBatis 学习笔记(一),运行原理SqlSessionFactory的初始化 1、根据配置文件返回SqlSessionFactory对象 解析文件的每一个信息保存在Configuration中,返回包含Configuration的DefaultSqlSession; 注意:【MappedStatement】:代表一个增删改查的详细信息//SqlSessio...原创 2018-07-10 10:34:31 · 793 阅读 · 0 评论 -
MyBatis 学习笔记(二)运行原理SqlSession的初始化
MyBatis 学习笔记(二)运行原理SqlSession的初始化 1、获取SqlSession@Overridepublic SqlSession openSession() { //defaultExecutorType 执行器默认类型 SIMPLE return openSessionFromDataSource(configuration.getDefaultExec...原创 2018-07-10 10:38:49 · 618 阅读 · 1 评论 -
MyBatis 学习笔记(三)运行原理,获取mapper代理对象
MyBatis 学习笔记(三)运行原理,获取mapper代理对象获取接口的代理对象(MapperProxy) getMapper,使用MapperProxyFactory创建一个MapperProxy的代理对象 代理对象里面包含了,DefaultSqlSession(Executor)//3、获取接口的实现类对象//会为接口自动的创建一个代理对象,代理对象去执行增删改查方法DeptMapper...原创 2018-07-10 10:40:27 · 1406 阅读 · 0 评论 -
MyBatis 学习笔记(四)运行原理,查询执行分析
MyBatis 学习笔记(四)运行原理,查询执行分析public SqlSessionFactory getSqlSessionFactory() { String resource = "mybatis-config.xml"; InputStream inputStream = null; try { inputStream = Resources.ge...原创 2018-07-10 10:42:55 · 264 阅读 · 0 评论 -
MyBatis 学习笔记(五)插件Interceptor原理和开发
MyBatis 学习笔记(五)插件Interceptor原理和开发一、原理 在四大对象(Executor,StatementHandler,ParameterHandler,ResultSetHandler)创建的时候 1、每个创建出来的对象不是直接返回的,而是创建完后再执行这个方法 interceptorChain.pluginAll(parameterHandler); 2...原创 2018-07-10 10:44:17 · 4839 阅读 · 0 评论 -
MyBatis 学习笔记(六)分页插件PageHepler
MyBatis 学习笔记(六)分页插件PageHepler源码:https://github.com/pagehelper/Mybatis-PageHelper中文文档:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md集成使用 PageHelper 你只需要在 classpath 中包...原创 2018-07-10 10:44:51 · 335 阅读 · 0 评论 -
MyBatis 学习笔记(七)批量插入ExecutorType.BATCH效率对比
MyBatis 学习笔记(七)批量插入ExecutorType.BATCH效率对比一、在mybatis中ExecutorType的使用1.Mybatis内置的ExecutorType有3种,默认的是simple,该模式下它为每个语句的执行创建一个新的预处理语句,单条提交sql;而batch模式重复使用已经预处理的语句,并且批量执行所有更新语句,显然batch性能将更优; 2.但batch模式也有自...原创 2018-07-10 10:45:27 · 40567 阅读 · 17 评论 -
MyBatis 学习笔记(八)自定义类型转换器TypeHanlder
MyBatis 学习笔记(八)自定义类型转换器TypeHanlder使用场景:mybatis在预处理语句(PreparedStatement)中设置一个参数时,或者从结果集(ResultSet)中取出一个值时,都会用到TypeHandler。它的作用就是将java类型(javaType)转化为jdbc类型(jdbcType),或者将jdbc类型(jdbcType)转化为java类型(javaTyp...原创 2018-07-10 10:46:08 · 1689 阅读 · 0 评论