![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis
文章平均质量分 60
剥包谷
不忘初心
展开
-
Spring与Mybatis整合
整合理解:Mybatis需要SqlSession对象,才能和数据库进行交互,而该会话都是基于SqlSessionFactory创建的。所以我们只需要将SqlSessionFactory对象的管理权交给Spring管理。让Spring+Mybatis的优点集合在一起。第一步,首先导入需要的jar包或者依赖<!-- Spring --> <!-- https...原创 2020-01-06 13:44:34 · 366 阅读 · 0 评论 -
分页插件 pageHelper
PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例如mysql、oracle、mariaDB、DB2、SQLite、Hsqldb等。查询数据库展示到前端的过程中不可避免的要考虑到分页问题,这时就引入了Mybatis的PageHelper插件,这个插件对分页功能进行了强有力的封装。下面来看看。使用pageHelper1.导入所需要...原创 2020-01-01 16:30:48 · 181 阅读 · 0 评论 -
mybatis 逆向工程
什么是mybatis逆向工程:简单点说mybatis逆向工程是一种机制,针对数据库中的表可以通过逆向工程生成实体类,mapper接口,mapper映射(配置)文件,不用我们自己去写,可以为我们自动生成。为什么使用mybtais逆向工程: 当一个项目用到的数据库中表很多,数据很多,如果再去手动写实体类,mapper接口和配置文件,会大大降低行进效率,使用逆向工程...原创 2019-12-30 11:56:42 · 177 阅读 · 0 评论 -
mybatis 整合 ehcache
mybatis允许缓存由第三方缓存来实现,多以定义了cache接口,第三方只要实现该接口即可,和mybatis整合在一起后由mybatis在程序中进行调用;Ehcache介绍在Java项目广泛的使用。它是一个开源的、设计于提高在数据从RDBMS中取出来的高花费、高延迟采取的一种缓存方案。正因为Ehcache具有健壮性(基于java开发)、被认证(具有apache 2.0 licen...原创 2019-12-28 18:32:20 · 364 阅读 · 0 评论 -
mybatis 缓存 cache
mybatis会将查询出来的数据存放到缓存中,当再次查询重复数据时,直接从缓存中取出,避免重复查询相同数据而浪费系统资源mybatis缓存分为:一级缓存 、二级缓存一级缓存 (作用域比较小)一级缓存:本地缓存(sqlSession级别缓存),与数据库同一次会话(sqlSession)期间查询到的数据会被放到本地缓存中,如果直接从缓存中获取,不会再次向数据库查询数据mybatis一...原创 2019-12-28 16:55:37 · 191 阅读 · 1 评论 -
SQL抽取
<!-- public abstract Employee findEmpById(Integer id); --> <select id="findEmpById" resultType="com.mybatis.bean.Employee"> <!-- 使用include标签引用已经抽取的sql --> select <includ...原创 2019-12-20 17:29:04 · 521 阅读 · 0 评论 -
Mybatis 动态SQL
MyBatis动态sql 什么是动态sql if条件判断 Trim字符串拼接 choose(选择分支) foreach集合遍历 什么是动态sqlMyBatis 的强大特性之一便是它的动态 SQL,它极大的简化了我们拼接SQL的操作。动态 SQL 元素和使用 JSTL 或其他类似基于 XML 的文本处理器相似。MyBatis 采用功能强大的基于 OGNL 的表...原创 2019-12-20 11:37:48 · 215 阅读 · 0 评论 -
resultMap对象集合级联关系 { 一对多 }(三)
数据库两张表 :Employee 员工表Dept 部门表-- emp员工表中存储的是 员工的信息 -- dept部门表中存储的是 部门的信息 -- 员工表和部门表中的共有属性是:部门编号,部门编号是一样的需求:通过部门编号查询部门,并查询该部门所有的员工实体类Dept 部门/*** * 部门实体类 */public ...原创 2019-12-13 17:32:05 · 480 阅读 · 0 评论 -
resultMap对象之间的级联关系[ 一对一关系 ] (二)
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType就是 mybatis会自己通过反射 根据字段名设置到对应的实例中的属性。而resultMap则是对外部ResultMap的引用,resultMap就是你自定义的一个映射关系而且resultMap可以实现一种功能就是当你是1对多 这种多张表查询的时候 你没办法...原创 2019-12-05 00:30:52 · 527 阅读 · 0 评论 -
mybatis自定义封装类型 (一)
当SQL查询出的结果集封装成bean实体时,实体类中的字段和sql结果集字段不同,不匹配的字段无法封装到实体类中。有两种结果方法: 1.可以在SQL语句中设置别名,进行匹配 2.可以使用 resultMap 标签自定义封装类型第一种方式设置别名就不提啦,大家都会。下面来看看resultMap标签的自定义封装User表User实体类/** * ...原创 2019-12-01 21:41:56 · 1148 阅读 · 0 评论 -
mybatis的返回值问题
使用mybatis框架,DAO层中一些特殊的返回值,例如:list,set,map集合,在查询出数据之后,如何按照指定的返回值封装。以下是一些常用的封装方式1.结果集封装成List集合DAO//获取所有的User对象,并将查询出来的User对象封装到List集合中public LinkedList<User> getUserList(); UserMap...原创 2019-11-25 15:28:51 · 1267 阅读 · 0 评论 -
mybatis参数绑定
对数据库进行增删改查操作时,sql语句需要一些参数,从而来实现模糊查询,精确查询,插入数据,更新数据和删除数据。这些参数,在mybatis里面,又该如何使用呢?我总结了以下几点:1.单个参数绑定 DAO接口//根据id查询Userpublic User getUserById(Integer id); UserMapper.xml<!-- 根据id查...原创 2019-11-25 14:35:43 · 3189 阅读 · 1 评论 -
mybatis新增数据并获取主键值
在很多业务下,对User表新增一条数据后,往往还要以该数据对其他关联的表格做操作,所以拿到该条数据的主键尤为关键。以下记录 对Mysal和Oracle中的 User表新增一条数据,并获取该条数据的主键entitypackage com.mybatis.bean;//User表的实体类public class User { //成员变量属性名 建议和 数据库字段保...原创 2019-11-22 00:12:26 · 767 阅读 · 0 评论 -
Mybatis全局配置文件 AND SQL映射文件
可以查看Mybatis的官方说明文档,(文档很贴心,设有中文):https://mybatis.org/mybatis-3/zh/configuration.htmlMybatis全局配置文件下边是一个已经配置好了的Mybatis全局配置文件: config.xml<?xml version="1.0" encoding="UTF-8"?><!DOCT...原创 2019-11-18 09:25:48 · 433 阅读 · 0 评论 -
Mybatis框架入门
前言:mybatis的前身是叫Ibatis,阿帕奇组织下的。后来谷歌收购改名为 Mybatis。 (在Github 下可以找到该框架)Mybatis是一个持久化框架 (跟数据库交互的框架)原始jdbc 与数据库进行交互的过程繁琐,与数据库连接,获取Connection对象,编写预编译sql指令,设置参数,在执行sql指令, 封装结果而后来出现的jdbc工具:dbu...原创 2019-11-14 15:23:53 · 246 阅读 · 0 评论