`
什么向往
  • 浏览: 80271 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

mybatis介绍(一)

 
阅读更多

什么是mybatis

MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除 了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索。MyBatis可以使用简单的 XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

 

每一个MyBatis的应用程序都以一个SqlSessionFactory 对象的实例为核心。SqlSessionFactory 对 象的 实例 可以 通 过SqlSessionFactoryBuilder 对 象 来获 得 。SqlSessionFactoryBuilder 对象可以通过XML配置文件,或从以往使用惯例中准备好的Configuration类实例中来构建SqlSessionFactory对象。 

 

备注:mybatis指的是ibatis3,它和ibatis2有很大的区别。mybatis3需要jdk1.5以上的支持,因为其中增加了注解和泛型。

 

从XML中构建SqlSessionFactory对象

从XML中构建SqlSessionFactory实例,建议使用类路径下的资源文件来配置。

 

String resource = "Configuration.xml"; 

Reader reader = Resources.getResourceAsReader(resource); 

sqlMapper = new SqlSessionFactoryBuilder().build(reader);

 

 

XML配置文件的内容包含对mybatis系统的核心配置,包含获取数据库连接实例的数据源和决定事务范围和控制的事务管理器。简单实例如下:写道

<?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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/test1"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>

在XML中还有很多的信息可以配置,以上实例只是指出最关键的部分。

 

从SqlSessionFactory中获取sqlsession

 

现在已经知道了如何获取SqlSessionFactory对象了,我们可以通过代码

 

 写道
SqlSession session = sqlMapper.openSession();
 

 

来获得SqlSession的实例。

 

SqlSession对象完全包含以数据库为背景的所有执行SQL操作的方法。我们可以用SqlSession对象实例来直接执行已经映射的SQL语句。

 

 

SqlSession session = sqlSessionFactory.openSession(); 
try { 
BlogMapper mapper = session.getMapper(BlogMapper.class); //映射BlogMapper接口的实现
Blog blog = mapper.selectBlog(101); 
} finally { 
session.close(); 
}
 

 

 

 

在通过XML文件创建SqlSessionFactory时,在XML文件中,配置了一个基于XML的映射语句

 

<mappers> 
<mapper resource="org/mybatis/example/BlogMapper.xml"/> 
</mappers> 

 

 

 

 BlogMapper.xml代码如下

 

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
<mapper namespace="org.mybatis.example.BlogMapper"> 
<select id="selectBlog" parameterType="int" resultType="Blog"> 
select * from Blog where id = #{id} 
</select> 
</mapper>
 

 

 

 

 

分享到:
评论
1 楼 duruochen372 2016-06-06  
 

相关推荐

    深入理解MyBatis中的一级缓存与二级缓存

    主要给大家深入的介绍了关于MyBatis中一级缓存与二级缓存的相关资料,文中详细介绍MyBatis中一级缓存与二级缓存的工作原理及使用,对大家具有一定的参考性学习价值,需要的朋友们下面来一起看看吧。

    MyBatis-Plus入门+MyBatis-Plus文档手册 中文pdf高清版.rar

    关于mybatis-plus的更多介绍及特性,可以参考本文档,详细的介绍了从入门到提高的一个过程,感兴趣的可以下载了解。 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增 强不做改变,为...

    springmybatis

    mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis实战教程mybatis in action之三实现数据的增删改查 mybatis实战教程mybatis in action之四实现...

    Mybatis学习笔记整合架构

    2.Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 MyBatis是一个优秀的持久层框架,它对...

    本科毕业设计+利用springboot+mybatis打造一个简易的客户管理系统,前后端分离

    本科毕业设计+利用springboot+mybatis打造一个简易的客户管理系统,前后端分离 开发环境 操作系统:Windows 10 IDE工具:IDEA JDK:JDK1.8 数据库:MySQL 5.7 构建工具:Maven 框架:Springboot+Mybatis 相关技术...

    《深入浅出MyBatis技术原理与实战》高清完整PDF下载

    单单在51job招聘网站中MyBatis在全国也有近万个岗位的需求,加上未在51job发布的企业,可见需求相当大,而在当今市场上却没有任何一本介绍MyBatis的书籍,为了填补这一空白本书主要介绍了Java MyBatis技术。...

    一本小小的MyBatis源码分析书.rar

    一本小小的MyBatis源码分析书,内容详细介绍MyBatis源码!对于初中级java开发工程师是必备的!

    mybatis的具体介绍.doc

    MyBatis是一个优秀的基于Java的持久层框架,它内部封装了JDBC,使得开发者只需要关注SQL语句本身,而无需处理加载驱动、创建连接、创建Statement等繁琐的过程。MyBatis的主要特点和功能如下: 简单易用:通过XML...

    mybatis官方介绍整理

    将mybatis官方网站介绍、使用方法汇总到一个文档里

    mybatis动态sqlmybatis动态sqlmybatis动态sql

    下面我将简单介绍一下MyBatis动态SQL的使用方法和常用的功能。 1. if标签:if标签是动态SQL中最常用的功能之一。它允许我们根据条件判断是否拼接SQL语句的一部分。使用if标签时,可以使用Java代码对条件进行判断,...

    Mybatis.PDF

    本书中从一个简单的 MyBatis 查询入手,搭建起学习 MyBatis 的基础开发环境。通过全面的示例代码 和测试讲解了在 MyBatis XML 方式和注解方式中进行增、册 改、查操作的基本用法,介绍了动态 SQL 在不同方面的应用...

    拓薪教育mybatis深入浅出

    拓薪教育-mybatis的介绍和第一个例子 · 02.拓薪教育-resultMap的使用 · 03.拓薪教育-mybatis的简单查询 · 04.拓薪教育-mybatis的插入数据 · 05.拓薪教育-修改和删除 · 06.拓薪教育-mybatis别名的使用 · ...

    深入浅出MyBatis技术原理与实战(高清带目录版)

    遗憾的是,时至今日国内依然没有一本讨论MyBatis 的书,这增加了初学者的学习难度,初学者往往只能基于零星的案例来学习MyBatis,无法系统地掌握MyBatis,更不用说精通了。《深入浅出MyBatis 技术原理与实战》是笔者...

    深入浅出MyBatis技术原理与实战

    遗憾的是,时至今日国内依然没有一本讨论MyBatis 的书,这增加了初学者的学习难度,初学者往往只能基于零星的案例来学习MyBatis,无法系统地掌握MyBatis,更不用说精通了。《深入浅出MyBatis 技术原理与实战》是笔者...

    mybatis实现一对一关联映射实例代码

    主要给大家介绍了关于mybatis实现一对一关联映射的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    新MyBatis教程高手带你练手,玩框架轻松(3.15G)

    MyBatis-009-复习第一个例子.avi MyBatis-010-开发常见问题.avi MyBatis-011-三种处理方式.avi MyBatis-012-配置日志.avi MyBatis-013-SqlSessionFactory和SqlSession对象介绍.avi MyBatis-014-工具类使用.avi ...

    Spring MVC MyBatis

    第三部分重点介绍了Spring MVC4+MyBatis 3的整合,并示范开发了一个包含6个表、表之间具有复杂的关联映射关系,且业务功能也相对完善的HRM人事管理系统案例,希望让读者理论联系实际,将这两个框架真正运用到实际...

    myBatis教程

    myBatis教程,用一个实例简单介绍myBatis的使用。

Global site tag (gtag.js) - Google Analytics