![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MyBatis
廖子默
缘来缘去终会散,花开花落总归尘。
展开
-
与Spring进行整合
如何整合1.让spring通过单例方式管理SqlSessionFactory。2.spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybatis整合自动完成)3.持久层的mapper都需要由spring进行管理整合环境1.导入mybatis的包2.导入spring的包3.导入整合包将SqlMapCo...原创 2019-08-18 16:49:53 · 121 阅读 · 0 评论 -
使用java代码形式实现逆向工程(从数据表生成po类和mapper映射文件)
到Maven官网下载jar包下载地址导入到一个空的项目中(项目结构完整)该项目的所有jar包如下(mybatis整合spring的)去官网找到逆向工程的配置文件地址在这儿把下面这个xml复制到我们的项目进行修改即可我这边提供一份整理好的带注释的(记住不论配置什么,它的标签顺序不能改变,否则报错)<?xml version="1.0" encoding="UTF-8"?&...原创 2019-08-18 23:09:15 · 1270 阅读 · 0 评论 -
MyBatis的基本概念和入门
MyBatis是什么?1.mybatis是一个持久层的框架,是apache下的顶级项目,现在已经托管到GitHub上了2.mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要sql语句。3.主要关注点在输入映射和输出映射中MyBatis执行过程MyBatis和Hibernate的区别hibernat...原创 2019-08-13 23:58:03 · 357 阅读 · 0 评论 -
Dao层的开发方法(原始dao开发和Mapper接口开发)
原始Dao开发方法1.编写dao接口2.编写dao接口的实现类3.Mapper映射文件4.SqlMapConfig配置文件5.测试类6.结果8.总结1、dao接口实现类方法中存在大量重复方法,就是通过SqlSessionFactory创建SqlSession,调用SqlSession的数据库操作方法2、调用sqlsession方法时将statement的id硬编码了...原创 2019-08-15 17:12:23 · 3310 阅读 · 2 评论 -
SqlMapConfig.xml文件和Mapper.xml文件参数详解
SqlMapConfig.xml配置文件的参数SqlMapConfig.xml中配置的内容和顺序如下1.properties(属性)2.settings(全局配置参数)3.typeAliases(类型别名)4.typeHandlers(类型处理器)5.objectFactory(对象工厂)6.plugins(插件)7.environments(环境集合属性对象)8.environ...原创 2019-08-16 00:56:27 · 738 阅读 · 0 评论 -
动态Sql
什么是动态sql是mybatis的核心 ,能够对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装,满足不同的功能或者需求。1.条件判断(if)例如我们要判断查询的某个参数但要求输入的参数不为空时才进行查询,此时就可以使用动态sql的条件判断例如我们的条件sql语句这么写写个测试类测试一下三个判断效果性别为空用户名为空都为空时2.sql片段(提高...原创 2019-08-16 12:26:31 · 522 阅读 · 0 评论 -
高级映射(一对一、一对多、多对多)
一对一(resultType实现方式)我们这里就利用订单和用户模型,从订单角度出发,一个订单只能给一个用户创建,所以是一对一,但是从用户角度出发,一个用户是可以创建多个订单的,所以是一对多。但是我们这里从订单角度出发,那么就可以当成一对一来处理1.这样我们就建立一个需求:查询订单并关联查询下单用户2.创建用户表和订单表并建立好关系用户表CREATE TABLE `user` ( `i...原创 2019-08-17 18:00:03 · 8923 阅读 · 2 评论 -
延迟加载和查询缓存(一级缓存和二级缓存)
延迟加载当我们执行某些查询操作时,如果可以先查询出一些简单的满足需求,然后当需要某部分时再去查询关联数据,这就叫做延迟加载,这样做可以提高数据库性能1.需求,例如我们拿以前的例子,查询订单的同时关联查询下单用户,这个关联查询用户的那一部分我们让它延迟加载2.针对不同的需求编写不同的resultMap,根据不同的对应关系选择association或者collection3.这里从订单角度出发...原创 2019-08-18 01:13:28 · 576 阅读 · 1 评论