MyBatis
SKlonglong
这个作者很懒,什么都没留下…
展开
-
mybatis搭建教程
1 简介MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架,其几乎消除了所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。MyBatis 应用程序大都使用 SqlSessionFa...原创 2018-03-07 17:33:38 · 167 阅读 · 0 评论 -
mybatis 详解(十一)------ mybatis和spring整合
想要整合mybatis和spring,那么我们首先要知道这两个框架是干嘛的,对于mybatis我们前面几篇博客已经有了很详细的介绍,我们通过加载mybatis-configuration.xml 文件来产生SqlSessionFactory,然后通过SqlSessionFactory去产生sqlSession,我们在通过 sqlSession对数据库表所映射的实体类进行增删改查操作。而spring...原创 2018-03-10 16:51:30 · 120 阅读 · 0 评论 -
mybatis 详解(十)------ 逆向工程
通过前面的学习,在实际开发中,我们基本上能对mybatis应用自如了,但是我们发现了一个问题,所有操作都是围绕着po类,xxxMapper.xml文件,xxxMapper接口等文件来进行的。如果实际开发中数据库的表特别多,那么我们需要手动去写每一张表的po类,xxxMapper.xml,xxxMapper.java文件,这显然需要花费巨大的精力,而且可能由于表字段太多,写错了而不知道也是可能的。 ...原创 2018-03-10 16:48:35 · 158 阅读 · 0 评论 -
mybatis 详解(九)------ 一级缓存、二级缓存
上一章节,我们讲解了通过mybatis的懒加载来提高查询效率,那么除了懒加载,还有什么方法能提高查询效率呢?这就是我们本章讲的缓存。 本篇源码下载链接:http://pan.baidu.com/s/1eRHTsIm 密码:a5wn mybatis 为我们提供了一级缓存和二级缓存,可以通过下图来理解: ①、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession...原创 2018-03-10 16:46:31 · 131 阅读 · 0 评论 -
mybatis 详解(八)------ 懒加载
本章我们讲如何通过懒加载来提高mybatis的查询效率。 本章所有代码:https://pan.baidu.com/s/1i6eDOwP 密码: qnbu回到顶部1、需求:查询订单信息,有时候需要关联查出用户信息。 第一种方法:我们直接关联查询出所有订单和用户的信息1select * from orders o ,user u where o.user_id = u.id; 分析: ①、...原创 2018-03-10 16:42:24 · 156 阅读 · 0 评论 -
mybatis 详解(七)------一对一、一对多、多对多
前面几篇博客我们用mybatis能对单表进行增删改查操作了,也能用动态SQL书写比较复杂的sql语句。但是在实际开发中,我们做项目不可能只是单表操作,往往会涉及到多张表之间的关联操作。那么我们如何用 mybatis 处理多表之间的关联操作呢?请看本篇博客详解。 本篇详细代码:http://pan.baidu.com/s/1eSzmst8 密码:3n3o1、一对一 我们以用户表 user 和订单...原创 2018-03-09 11:48:31 · 250 阅读 · 0 评论 -
mybatis 详解(六)------通过mapper接口加载映射文件
通过 mapper 接口加载映射文件,这对于后面 ssm三大框架 的整合是非常重要的。那么什么是通过 mapper 接口加载映射文件呢? 我们首先看以前的做法,在全局配置文件 mybatis-configuration.xml 通过 <mappers> 标签来加载映射文件,那么如果我们项目足够大,有很多映射文件呢,难道我们每一个映射文件都这样加载吗,这样肯定是不行的,那么我们就需要...原创 2018-03-09 11:31:19 · 332 阅读 · 0 评论 -
mybatis 详解(五)------动态SQL
前面几篇博客我们通过实例讲解了用mybatis对一张表进行的CRUD操作,但是我们发现写的 SQL 语句都比较简单,如果有比较复杂的业务,我们需要写复杂的 SQL 语句,往往需要拼接,而拼接 SQL ,稍微不注意,由于引号,空格等缺失可能都会导致错误。 那么怎么去解决这个问题呢?这就是本篇所讲的使用 mybatis 动态SQL,通过 if, choose, when, otherwise, tr...原创 2018-03-09 11:27:49 · 200 阅读 · 0 评论 -
mybatis 详解(四)------properties以及别名定义
上一篇博客我们介绍了mybatis的增删改查入门实例,我们发现在 mybatis-configuration.xml 的配置文件中,对数据库的配置都是硬编码在这个xml文件中,如下图,那么我们如何改进这个写法呢?1、我们将 数据库的配置语句写在 db.properties 文件中jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://loca...原创 2018-03-09 11:16:46 · 228 阅读 · 0 评论 -
mybatis 详解(三)------入门实例(基于注解)
1、创建MySQL数据库:mybatisDemo和表:user 详情参考:mybatis 详解(二)------入门实例(基于XML) 一致 回到顶部2、建立一个Java工程,并导入相应的jar包,具体目录如下 详情参考:mybatis 详解(二)------入门实例(基于XML) 一致 回到顶部3、在 MyBatisTest 工程中添加数据库配置文件 mybatis-configurati...原创 2018-03-09 11:10:18 · 109 阅读 · 0 评论 -
mybatis 详解(二)------入门实例(基于XML)
通过上一小节,mybatis 和 jdbc 的区别:http://www.cnblogs.com/ysocean/p/7271600.html,我们对 mybatis有了一个大致的了解,下面我们通过一个入门实例来对mybatis有更近一步的了解。 我们用 mybatis 来对 user 表进行增删改查操作。 ps:本篇博客源代码链接:http://pan.baidu.com/s/1eSEfc...原创 2018-03-09 09:39:51 · 164 阅读 · 0 评论 -
mybatis 详解(一)------JDBC
1、什么是MyBatis?MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL...原创 2018-03-09 09:22:55 · 261 阅读 · 0 评论 -
MyBatis传递参数的3种方式
第一种map <select id="findA" parametertype="map" resultMap="roleMap"> SELECT id,role_name,note FROM t_role WHERE role_name like concat ('%',#{roleName},'%') and note...原创 2018-03-08 18:49:03 · 241 阅读 · 0 评论 -
mybatis增删查改案例
第一步:创建接口2.配置全局xml3.配置接口映射4.测试框架代码 package com.neuedu.mybatisdemo.bean;import java.util.Date;public class Course { // 编号 private String courseId; // 名称 private String courseName; ...原创 2018-03-06 11:26:22 · 235 阅读 · 0 评论 -
Mybatis之工作原理
1.Mybatis的架构1.1 Mybatis的框架分层1.2 MyBatis的实现原理mybatis底层还是采用原生jdbc来对数据库进行操作的,只是通过 SqlSessionFactory,SqlSession Executor,StatementHandler,ParameterHandler,ResultHandler和TypeHandler等几个处理器封装了这些过程 执行器:Ex...原创 2018-03-29 09:36:39 · 419 阅读 · 0 评论