![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis整理
文章平均质量分 66
疯子.
一步一个脚印,踏踏实实
展开
-
Mybatis知识整理(七)Mybatis之输出映射
(1)resultType 使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。 如果查询出来的列名和pojo中的属性名全部不一致,没有创建pojo对象。 只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象。查询出来的结果集只有一行且一列,可以使用简单类型进行输出映射。不管是输出的pojo单个对象还是一个列表(list...原创 2018-03-29 17:33:02 · 125 阅读 · 0 评论 -
Mybatis知识整理(五)Mybatis之SqlMapConfig.xml
SqlMapConfig.xml是Mybatis的全局配置文件,其内容如下:properties(属性)settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件)environments(环境集合属性对象)environment(环境子属性对象)tr...原创 2018-03-29 15:38:47 · 102 阅读 · 0 评论 -
Mybatis知识整理(四)Mybatis进行Mapper代理开发
总结原始dao的开发问题:1、dao接口实现类方法中存在大量模板方法,设想能否将这些代码提取出来,大大减轻程序员的工作量。2、调用sqlsession方法时将statement的id硬编码了3、调用sqlsession方法时传入的变量,由于sqlsession方法使用泛型,即使变量类型传入错误,在编译阶段也不报错,不利于程序员开发。所以一般在开发过程中我们采用mapper...原创 2018-03-29 11:33:53 · 240 阅读 · 0 评论 -
Mybatis知识整理(三)Mybatis原始dao开发
通过上一节的知识整理中我们发现了: SqlSession是一个面向用户(程序员)的接口。 SqlSession中提供了很多操作数据库的方法:如:selectOne(返回单个对象)、selectList(返回单个或多个对象)。SqlSession是线程不安全的,在SqlSesion实现类中除了有接口中的方法(操作数据库的方法)还有数据域属性。SqlSession最佳应用场合在方法体内,定...原创 2018-03-29 10:42:45 · 129 阅读 · 0 评论 -
Mybatis知识整理(二)Mybatis实现简单的增删改查
通过之前的分析,开始使用Mybatis进行简单的增删改查的开发,步骤按照mybaits的架构依次来进行简单的开发,即首先创建SqlMapConfig.xml->SqlSessionFactory->SqlSession->操作数据库使用的开发环境:IDEAmybatis-3.4.6(https://github.com/mybatis/mybatis-3/releases...原创 2018-03-28 21:53:19 · 209 阅读 · 0 评论 -
Mybatis知识整理(一)Mybatis初探
Mybatis是一款优秀的持久层框架,专注于sql本身。是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。相比于原始的iBatis,提供了代理开发的新型模式。mybatis和hibernate本质区别和应用场景对比如下:hi...原创 2018-03-28 21:32:33 · 268 阅读 · 0 评论 -
Mybatis知识整理(十二)Mybatis完结之与Spring整合
需要spring通过单例方式管理SqlSessionFactory。spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成) 持久层的mapper都需要由spring进行管理。(1.jar导入)(2.在applicationContext.xml配置sqlSessionFactory和数据...原创 2018-03-31 12:11:06 · 186 阅读 · 1 评论 -
Mybatis知识整理(十一)Mybatis之缓存
mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。 mybaits提供一级缓存,和二级缓存。一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。二级缓存是mapper级别的缓存,多个SqlSess...原创 2018-03-30 19:49:06 · 236 阅读 · 0 评论 -
Mybatis知识整理(十)Mybatis之延迟加载
延迟加载:就是按照我们的需求去加载sql获取请求数据。例如在关联表进行查询时,为了减轻数据库的压力,我们先执行一张表的查询获取数据看看能否满足当前应用,如果不满足再去关联查询。mybatis默认没有开启延迟加载,需要在SqlMapConfig.xml中setting配置。resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),assoc...原创 2018-03-30 17:30:12 · 175 阅读 · 0 评论 -
Mybatis知识整理( 九)Mybatis之高级映射
(一)Mybatis高级映射包括一对一,一对多,多对多我们设计如下几张表:oa_forum:论坛主题分类oa_topic:发帖(包括帖子标题,帖子内容等,其中相关外键:forumId)oa_reply:帖子回复(包括回复的内容,时间等等,相关外键:topicId)数据模型分析:1.分模块对每张表的内容进行熟悉。2.每张表重要的字段设置 非空字段、外键字3.数...原创 2018-03-30 16:14:09 · 261 阅读 · 0 评论 -
Mybatis知识整理( 八)Mybatis之动态SQL
mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。可以使用if,sql片段,或是foreach具体代码如下:(UserMapper.xml) <!--在sql片段中不要包括where--> <sql id="query_user_where"> <if test="fo...原创 2018-03-29 18:44:07 · 155 阅读 · 0 评论 -
Mybatis知识整理(六)Mybatis之输入映射
通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo的包装类型 。在此我们定义一个包装类型的pojo,来完成比较复杂的查询(User.java)package com.mybatis.po;/** * Created by Administrator on 2018/3/28. * author:邹培贤 */public c...原创 2018-03-29 16:36:48 · 174 阅读 · 0 评论