MyBatis
MyBatis是现在主流框架SSM中持久层的框架,本专栏的讲解让读者能从0开始简单的学习,之后深入。融会贯通
滕柳
微笑面对每一天
展开
-
Mybatis-入门
【MyBatis】 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。【在线文档】http:/...原创 2017-10-25 19:43:21 · 230 阅读 · 7 评论 -
Mybatis入门(一)
【Mybatis产生背景】我们以前是用原始的JDBC程序进行对数据库的操作的,但是会出现一系列的问题,小编在这里就进行总结一下。1.环境 java环境:jdk1.7.0_72 eclipse:indigo mysql:5.12.创建mysql数据导入下边的脚本:http://download.csdn.net/download/tengliu6/102原创 2018-01-23 20:51:53 · 306 阅读 · 12 评论 -
Mybatis-入门程序(二)
接着上一篇文章《Mybatis入门(一)》我们继续来讲解一下《Mybatis的入门程序(二)》,废话不多说进入正题【需求】1、根据用户id(主键)查询用户信息2、根据用户名称模糊查询用户信息3、添加用户4、删除 用户5、更新用户【环境】java环境:jdk1.7.0_72eclipse:indigomysql:5.1mybatis运行环境(jar包):从https://github.com/myb...原创 2018-02-17 09:18:25 · 441 阅读 · 15 评论 -
Mybatis—开发Dao方法(三)
上一篇文章我们讲解了《Mybatis-入门程序(二)》下面我们继续来讲解一下开发Dao的方法。【SqlSession使用范围】在我们要讲解sqlSession的使用范围之前我们先回忆一下Mybatis的框架 1、SqlSessionFactoryBuilder(1)通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory ...原创 2018-02-22 17:30:30 · 520 阅读 · 11 评论 -
Mybatis——解析SqlMapConfig.xml文件(四)
上一篇文章我们讲解了《Mybatis—开发Dao方法(三)》下面我们继续来解析一下SqlMapConfig.xml文件。【配置内容】mybatis的全局配置文件SqlMapConfig.xml,配置内容如下: 1、properties(属性) 2、settings(全局配置参数) 3、typeAliases(类型别名) 4、typeHandlers(类型处理器) 5、obje...原创 2018-02-22 17:31:29 · 407 阅读 · 14 评论 -
Mybatis—输入输出映射(五)
上一篇文章我们讲解了《Mybatis——解析SqlMapConfig.xml文件(四)》下面我们继续来讲解输入输出映射。【输入映射】通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo的包装类型。我们主要来讲解传递pojo的包装对象。1、需求完成用户信息的综合查询,需要传入查询条件很复杂(可能包括用户信息、其它信息,比如商品、订单的...原创 2018-03-01 19:32:22 · 342 阅读 · 3 评论 -
Mybatis—动态sql(六)
上一篇文章我们讲解了《Mybatis—输入输出映射(五)》下面我们继续来讲解动态sql。【什么是动态sql】mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。【需求】用户信息综合查询列表和用户信息查询列表总数这两个statement的定义使用动态sql。 对查询条件进行判断,如果输入参数不为空才进行查询条件拼接。【map...原创 2018-03-01 19:33:01 · 405 阅读 · 3 评论 -
Mybatis—高级映射之一对一查询(七)
上一篇文章我们讲解了《Mybatis—动态sql(六)》下面我们继续来讲解高级映射,即一对一查询,一对多查询,多对多查询。【订单商品数据模型】我们要对Mybatis讲解高级映射的内容,首先要对数据库中的各个表进行分析。 1、数据模型分析思路(1)每张表记录的数据内容 分模块对每张表记录的内容进行熟悉,相当 于你学习系统 需求(功能)的过程。 (2)每张表重要的...原创 2018-03-17 19:42:28 · 412 阅读 · 9 评论 -
Mybatis—高级映射之一对多和多对多查询(八)
上一篇文章我们讲解了《Mybatis—高级映射之一对一查询(七)》下面我们继续来讲解高级映射中的一对多和多对多查询。【一对多查询】1、需求查询订单及订单明细的信息。2、sql语句确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可。SELECT orders.*, USER.username, USER...原创 2018-03-17 19:43:08 · 1233 阅读 · 9 评论 -
Mybatis—查询缓存(九)
上一篇文章我们讲解了《Mybatis—高级映射之一对多和多对多查询(八)》下面我们继续来讲解查询缓存。【查询缓存】①mybatis提供查询缓存(一级缓存,和二级缓存),用于减轻数据压力,提高数据库性能。 ②一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession...原创 2018-03-17 19:43:30 · 564 阅读 · 11 评论 -
Mybatis—spring和mybatis整合(十)
上一篇文章我们讲解了《Mybatis—查询缓存(九)》下面我们继续来讲解spring和mybatis整合。【整合思路】需要spring通过单例方式管理SqlSessionFactory。 spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成) 持久层的mapper都需要由spring...原创 2018-03-25 14:58:23 · 344 阅读 · 12 评论 -
Mybatis—延迟加载和逆向工程(十一)
上一篇文章我们讲解了《Mybatis—spring和mybatis整合(十)》下面我们继续来讲解延迟加载和逆向工程。【延迟加载】1、什么是延迟加载resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。需求: 如果查询订单并且关联查询用户信息。如果先查询订单...原创 2018-03-25 15:02:57 · 411 阅读 · 12 评论