![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java持久化框架--Mybatis教程
jcpp9527
这个作者很懒,什么都没留下…
展开
-
Mybatis 基础教程之一--入门
一、MyBatis入门1、简单示例# 创建一个名称为mybatis的数据库create database mybatis;# 使用名称为mybatis的数据库use mybatis;# 创建一个tb_user表,CREATE TABLE tb_user ( id int(11) primary key auto_increment, name varc原创 2017-06-28 23:54:58 · 761 阅读 · 0 评论 -
mybatis入门基础(十)-----分页查询
到目前为止,我们介绍的Mybatis种种查询都是一次性的查询出所有结果并返回给上层。但是,在实际开发过程中,在大量数据存在的情况下,是很少这么做的。本文,我们将从逻辑分页,物理分页两种情况出发,分别介绍这两种方式。马上开始我们的正文部分吧。准备工作:a.操作系统 :win7 x64b.基本软件:MySQL,Mybatis,SQLyog----------转载 2017-09-25 01:11:20 · 328 阅读 · 0 评论 -
mybatis入门基础(十一)-----分页查询原理详解
本文的内容将作为前面我们叙述的内容的内部原理篇的解释,希望各位读者能够仔细理解本篇的内容,下一篇,我们将详细的介绍如何实现一个生产环境下的分页查询,好了,马上开始我们的正文部分吧。【在此,先对开源世界的大神表示感谢】准备工作:Mybatis 3.3.1版本源码。【其他版本,请读者自行对比即可】---------------------------------------------转载 2017-09-25 01:14:43 · 425 阅读 · 0 评论 -
mybatis入门基础(十一)-----分页查询(拦截器分页原理及实现)
前文,我们演示了物理分页的Sql实现方式,这种方式使得我们每次在编写查询服务时,不断的重复造轮子。这样的代码实现方式就显得十分的笨拙了。本文是Mybatis分页查询的最后一片内容,我们将介绍基于拦截器的,精巧的实现方式。在阅读这篇文章之前,强烈建议各位看官能够先阅读上文。这样就能对下文我们提及的各种对象及他们之间的关系有一个清晰的关系。好了,废话不多讲,开始我们的正文部分吧。准备工转载 2017-09-25 01:16:36 · 286 阅读 · 0 评论 -
MyBatis if test 字符串比较
今天发现项目中需要比较字符串,因为是单个比较,所以采用<if test> 而没有采用 <choose <when test>>,但在调试的过程中发现<if test>与<choose <when test>>的字符串比较不一样。 <choose <when test>>的比较写法是:&a原创 2018-02-08 10:13:48 · 1408 阅读 · 0 评论 -
Mybatis与Spring整合(一)Mapper接口代理的方式操作SQL语句
一、创建maven工程创建一个普通的maven工程,基于web项目目录:二、创建数据库与表DROP TABLE IF EXISTS `books`;CREATE TABLE `books` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', `title` varchar(100) NOT NULL COMMEN...原创 2018-08-13 19:35:31 · 1486 阅读 · 0 评论 -
Mybatis与Spring整合(二)sqlSession的方式操作SQL语句
上篇 介绍了用接口的方法极大的节省了dao层,只需通过 配置文件和接口就可以实现,这次介绍的是通过splsession来实现dao,这种方法比较灵活;这篇文章基于Mybatis与Spring整合(一)不同之处在于把 Mybatis与Spring整合(一)中的第五、第七、第八去掉,第六步需要去掉一点内容,保留其它几个一级目录即可再加上另外的两个一级目录一、创建maven工程创建一个普...原创 2018-08-13 20:51:16 · 6292 阅读 · 0 评论 -
Mybatis与Spring整合(三)Mapper接口代理的方式与sqlSession操作的区别
一、优缺点Mapper接口代理的方式:1、通过这种配置可以实现不用sqlsession而实现crud,因为都交给sprin来实现了,但是这种方法在service层实现的时候代码会比较冗余,但是这种方法思路比较清晰。2、可以通过mybatis generator来自动生成 mapper接口、实体Bean、mapper.xml映射文件,开发速度上快...3、sqlSession方...原创 2018-08-13 21:01:13 · 1939 阅读 · 2 评论 -
Mybatis与Spring整合(四)整合中的疑问及相关点
mybatis-spring开源项目文档:http://www.mybatis.org/spring/zh/sqlsession.htmlmybatis官方文档:http://www.mybatis.org/mybatis-3/有时间一定要研究下mybatis的源码 一、spring 整合 mybatis 需不需要手动关闭SQLSession?具体源码分析:https://bl...原创 2018-08-13 21:03:26 · 217 阅读 · 0 评论 -
mybatis入门基础(九)----逆向工程
一、什么是逆向工程 mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、po..) 实际开发中,常用的逆向工程方式:由数据库的表生成java代码。回到顶部二、下载逆向工程 去官网下载逆向工程,截至今天最新版本是1转载 2017-09-25 00:29:46 · 160 阅读 · 0 评论 -
mybatis入门基础(八)-----查询缓存
一、什么是查询缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。 mybaits提供一级缓存,和二级缓存。 1.1. 一级缓存是sqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap),用于存储缓存数据。不同的sqlSession之间的缓存 区域(HashMap)是互不影响的转载 2017-09-25 00:28:44 · 162 阅读 · 0 评论 -
Mybatis 基础教程之一--基本用法
一、MyBatis的体系结构1、SqlSessionFactory2、SqlSession执行持久化操作的对象,类似于JDBC中的Connection,使用完SqlSession之后关闭Session很重要,应该确保使用finally块中来关闭它。二、深入MyBatis的配置文件1、MyBatis的配置文件原创 2017-06-29 11:39:49 · 411 阅读 · 0 评论 -
mybatis入门基础(二)----原始dao的开发和mapper代理开发
阅读目录一:原始dao开发方法二:mapper代理方法(只需要mapper接口,相当于dao接口) 承接上一篇 mybatis入门基础(一) 看过上一篇的朋友,肯定可以看出,里面的MybatisService中存在大量的重复代码,看起来不是很清楚,但第一次那样写,是为了解mybatis的执行步骤,先苦后甜嘛!回到顶部一:原始dao开发方法转载 2017-09-24 02:09:50 · 211 阅读 · 0 评论 -
MyBatis入门基础(一) 为什么要用Mybatis
阅读目录一:对原生态JDBC问题的总结二:MyBatis框架三:mybatis入门程序四:mybatis和Hibernate的本质区别与应用场景五:小结回到顶部一:对原生态JDBC问题的总结 新项目要使用mybatis作为持久层框架,由于本人之前一直使用的Hibernate,对mybatis的用法实在欠缺,最近几天计划把mybatis学习一哈,特将学习笔记记录转载 2017-09-24 02:08:44 · 10618 阅读 · 0 评论 -
mybatis入门基础(五)----动态SQL
一:动态SQL 1.1.定义 mybatis核心对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。 1.2.案例需求 用户信息综合查询列表这个statement的定义使用动态sql,对查询条件进行判断,如果输入参数不为空才进行查询拼接。 1.3.UserMapper.xml 1 用户信息综合查询 2转载 2017-09-25 00:21:02 · 160 阅读 · 0 评论 -
mybatis入门基础(六)----高级映射(一对一,一对多,多对多)
一:订单商品数据模型1.数据库执行脚本 创建数据库表代码: 1 CREATE TABLE items ( 2 id INT NOT NULL AUTO_INCREMENT, 3 itemsname VARCHAR(32) NOT NULL COMMENT '商品名称', 4 price FLOAT(10,1) NOT NULL COMMEN转载 2017-09-25 00:22:45 · 203 阅读 · 0 评论 -
mybatis入门基础(四)----输入映射和输出映射
一:输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo的包装类型。1.1.传递pojo的包装对象 1.1.1.需求描述 完成用户信息的综合查询,需要传入的查询条件可能很复杂(可能包括用户信息,其它信息,比如,商品,订单等等)。 1.1.2.定义包装类型的pojo 针对上边的需求,建转载 2017-09-25 00:20:01 · 188 阅读 · 0 评论 -
mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析
一:SqlMapConfig.xml配置文件的内容和配置顺序如下properties(属性)settings(全局配置参数)typeAiases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境集合属性对象)mappers(映射器)environment(环境子属性对象)transaction转载 2017-09-25 00:18:49 · 154 阅读 · 0 评论 -
mybatis入门基础(七)----延迟加载
一、什么是延迟加载 resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。需求:如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。延迟加载:先从单表查询、需要时再转载 2017-09-25 00:28:01 · 180 阅读 · 0 评论