
mybatis
文章平均质量分 74
li563868273
个人主页:lizhao.pw
展开
-
Mybatis(一)-入门
Mybatis(一)Mybatis入门在进入正式之前 Mybatis中文文档地址 http://www.mybatis.org/mybatis-3/zh/index.html前言 什么是ORM,O/R Mapping,Object Relation Mapping,即对象关系映射,把对数据表映射为对象类,将在数据库中直接进行的原始操作演变为对的属性和方法的操作,间接改变数据库表的数据。原创 2016-03-18 14:19:43 · 693 阅读 · 0 评论 -
Mybatis源码分析之执行完整分析
在上一篇中我们已经分析到了我们返回的Mapper其实是个代理对象, StudentMapper studentMapper=sqlSession.getMapper(StudentMapper.class); List<Student> students=studentMapper.findAllStudents();studentMapper.findAllStude原创 2016-04-01 21:02:21 · 560 阅读 · 0 评论 -
Mybatis源码分析获取Mapper
这次分析的入口是StudentMapper studentMapper=sqlSession.getMapper(StudentMapper.class);根据上篇分析我们这里获得的sqlSession是DefaultSqlSession,public class DefaultSqlSession implements SqlSession { private Configuration原创 2016-04-01 17:43:18 · 1076 阅读 · 0 评论 -
Mybatis-Session生成详细分析
在上一篇的分析中我们分析了Mybatis-SessionFactory,这一篇我们详细分析session.分析入口代码:SqlSession sqlSession=MyBatisSqlSessionFactory.openSession();1。 public SqlSession openSession() { return this.openSessionFromDataS原创 2016-04-01 17:00:29 · 2905 阅读 · 0 评论 -
源码分析-Mybatis初始化过程
这里进行的分析我们会在下面代码处进行断点sqlSessionFactory= new SqlSessionFactoryBuilder().build(inputStream);1。步入后首先来到public SqlSessionFactoryBuilder() { }我们在这里构造一个SqlSessionFactoryBuilder实例。 2。接下来来到 public SqlSessi原创 2016-04-01 15:57:19 · 750 阅读 · 0 评论 -
Mybatis(十一)注解配置SQL映射器(二)
有时候我们需要根据输入条件动态地构建SQL语句。Mybatis提供了各种注解比如InsertProvider等来构建SQL语句。@SelectProvider创建一个SqlProvider类,以及提供Sql的方法。public class TutorDynaSqlProvider{public String findTutorByIdSql(int tutorId){retur原创 2016-03-20 14:53:28 · 333 阅读 · 0 评论 -
Mybatis(十)-注解配置SQL映射器(一)
注解配置SQL映射(一)Mybatis对于大部分的基于XML的映射器元素提供了对应的基于注解的配置项。然而某些情况下,基于注解配置还不能支持基于XML的一些元素。映射语句 在Mybatis中提供了多种注解支持不同类型的语句比如@Select,@Insert,@Update,@Delete。@Insert@Insert("INSERT INTO STUDENTS(STU原创 2016-03-20 14:23:27 · 418 阅读 · 0 评论 -
Mybatis(九)-缓存
缓存一级缓存 将从数据库中加载的数据缓存到内存中,是很多应用程序为了提高性能而采取的一贯做法。Mybatis对通过映射的SELECT语句加载的查询结果提供了内建的一级缓存。默认情况下:启用一级缓存。只要在同一个SqlSession接口对象调用了相同的SELECT语句,都会直接从缓存中返回,而不是查询数据库。二级缓存 我们可以在SQL映射器XML配置文件中使用元素添加全局原创 2016-03-20 13:32:44 · 357 阅读 · 0 评论 -
Mybatis(八)-一动态SQL
动态SQL有时候,静态的SQL语句并不能满足应用程序的需求。我们可以根据一些条件,来动态地创建SQL语句。例如,在web应用程序中,有可能有一些搜索界面,需要输入一个或多个选项,然后根据这些已经选择的条件去执行检索操作。实现这种类型的搜索功能我们需要动态的构建SQL语句。如果用户提供了任何输入条件,我们需要将那个条件添加到SQL语句的WHERE子句中。 MyBatis 通过使用,原创 2016-03-19 17:41:25 · 508 阅读 · 0 评论 -
Mybatis(七)- 一对一映射
一对一映射举个例子来说我们的Student和我们的Address是一对一的关系<select id="selectStudentWithAddress" parameterType="int"resultMap="StudentWithAddressResult">SELECT STUD_ID, NAME, EMAIL, A.ADDR_ID, STREET, CIT原创 2016-03-19 16:50:26 · 309 阅读 · 0 评论 -
Mybatis(六)-结果集映射
ResultMap一个最简单的ResultMap 子元素被用来将一个resultset列映射到JavaBean的一个属性中。元素和元素功能相同,不过它被用来映射到唯一标识属性。用来区分和比较对象。在我们的语句中,我们使用了resultMap属性,而不是resultType。在使用原创 2016-03-19 15:40:09 · 632 阅读 · 0 评论 -
Mybatis(五)-Mapper.xml
映射语句INSERT一个 INSERT SQL 语句可以在元素在映射器 XML 配置文件中配置,如下所示:INSERT INTO STUDENTS(STUD_ID,NAME,EMAIL, PHONE)VALUES(#{studId},#{name},#{email},#{phone})这里我们使用一个 ID insertStudent,可以在名空间 com.mybatis3.ma原创 2016-03-19 14:55:11 · 543 阅读 · 0 评论 -
Mybatis(四)-用API来配置MyBatis
使用API来配置我们的MyBatis在Mybatis(三)中我们详细讲解了mybatis-config.xml的各种元素,环境,别名,类型转换器。当然我们仅要会XML中配置他们我们也需要掌握代码的部分。在没有xml情况下如何创建一个SqlSessionFactory? 在这里我们需要用Java API创建一个SqlSessionFactory,代码如下:private stati原创 2016-03-19 11:34:56 · 773 阅读 · 0 评论 -
mybatis(三)-mybatis-config详解
Mybatis(三)-详解Mybatis-config.xml<?xml version="1.0" encoding="utf-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>原创 2016-03-18 21:11:42 · 1325 阅读 · 0 评论 -
Mybatis(二)-创建第一个应用
Mybatis(二)-第一个Mybatis程序1.Maven配置<dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.3.0</version></dependency></dependencies>2.新建一个数据库表CREATE TABLE原创 2016-03-18 16:00:40 · 447 阅读 · 0 评论 -
Mybatis源码 select分析
在我们上一篇的分析中分析了Mybatis一次插入执行流程分析,因为我们所有的插入执行都会转换为update,所以这一次我们执行一次我们的查询,看看他的过程是怎么样的?代码如下Student student = studentMapper.selectStudentWithAddress(1);这段代码跟踪,因为他是一个代理我们直接走进代理,和上一篇分析的一样在excute中有一个select的判断:原创 2016-04-04 14:06:44 · 666 阅读 · 2 评论