什么是MyBatis?
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
入门
每一个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心。SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象来获得。SqlSessionFactoryBuilder对象可以通过XML配置文件,或从以往使用惯例中准备好的Configuration类实例中来构建SqlSessionFactory对象。
从XML中构建SqlSessionFactory
从XML文件中构建SqlSessionFactory的实例非常简单。这里建议你使用类路径下的资源文件来配置,但是你可以使用任意的Reader实例,这个实例包括由文字形式的文件路径或URL形式的文件路径file://来创建。MyBatis包含了一些工具类,称作为资源,这些工具类包含一些方法,这些方法使得从类路径或其它位置加载资源文件更加简单。
String resource = "org/mybatis/example/Configuration.xml";
Reader reader = Resources.getResourceAsReader(resource);
sqlMapper = new SqlSessionFactoryBuilder().build(reader);
XML配置文件包含对MyBatis系统的核心设置,包含获取数据库连接实例的数据源和决定事务范围和控制的事务管理器。关于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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
当然,在XML配置文件中还有很多可以配置的,上面的示例指出的则是最关键的部分。要注意XML头部的声明,需要用来验证XML文档正确性。environment元素体中包含对事务管理和连接池的环境配置。mappers元素是包含所有mapper(映射器)的列表,这些mapper的XML文件包含SQL代码和映射定义信息。
不使用XML构建SqlSessionFactory
如果你喜欢从Java程序而不是XML文件中直接创建配置实例,或创建你自己的配置构建器,MyBatis也提供完整的配置类,提供所有从XML文件中加载配置信息的选项。
DataSource dataSource = BlogDataSourceFactory.getBlogDataSource();
TransactionFactory transactionFactory = new
JdbcTransactionFactory();
Environment environment =
new Environment("development", transactionFactory, dataSource);
Configuration configuration = new Configuration(environment);
configuration.addMapper(BlogMapper.class);
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(configuration);
注意这种情况下配置是添加映射器类。映射器类是Java类,这些类包含SQL映射语句的注解从而避免了XML文件的依赖,XML映射仍然在大多数高级映射(比如:嵌套Join映射)时需要。出于这样的原因,如果存在XML配置文件的话,MyBatis将会自动查找和加载一个对等的XML文件(这种情况下,基于类路径下的BlogMapper.class类的类名,那么BlogMapper.xml将会被加载)
相关推荐
MyBatis 简介及示例 MyBatis 是一个流行的持久层框架,提供了强大的数据库交互能力。MyBatis-Spring 是一个集成 MyBatis 和 Spring 的类库,旨在帮助开发者将 MyBatis 代码无缝地整合到 Spring 中。 MyBatis-...
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 ...
Mybatis 是一个强大的 Java 持久层框架,它由 Apache 赞助,并且提供对动态 SQL 支持。这个框架的主要目的是简化数据库操作,将 SQL 语句与 Java 代码分离,使得代码更加清晰、易于维护。相比于传统的 JDBC,Mybatis...
1. **MyBatis简介** MyBatis是由Clinton Begin创建的开源项目,它是一个基于Java的持久层框架,消除了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis提供了动态SQL、映射文件和Java接口,使得数据库操作...
mybatismybatis简介及基础教程和实用案例分析及特点阐述.txtmybatis简介及基础教程和实用案例分析及特点阐述.txtmybatis简介及基础教程和实用案例分析及特点阐述.txtmybatis简介及基础教程和实用案例分析及特点阐述....
1. **MyBatis简介** MyBatis提供了SQL语句和Java代码之间的映射,通过XML或注解方式配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。这使得开发者可以专注于...
1. **Mybatis简介** Mybatis 是一个轻量级的ORM(Object-Relational Mapping)框架,它避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Mybatis通过XML或注解的方式将SQL语句映射到Java方法上,使得数据库...
二、MyBatis简介 MyBatis是一个基于Java的持久层框架,它简化了JDBC代码,提供了SQL映射功能,允许开发者编写灵活的SQL查询。MyBatis通过XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain Old Java ...
1. **MyBatis简介** MyBatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集。它将SQL语句与Java代码分离,提供了一个更简洁、更易于维护的SQL映射框架。MyBatis的核心是SqlSession对象,通过它可以执行SQL...
2. **MyBatis简介**: MyBatis是一个轻量级的持久层框架,它将SQL语句与Java代码分离,提供了一种更灵活的数据库操作方式。MyBatis通过XML或注解配置,将SQL语句绑定到Java方法上,解决了JDBC代码冗余的问题,提高...
2. **MyBatis简介**: MyBatis是一个轻量级的ORM(对象关系映射)框架,它允许开发者编写SQL语句并与Java对象进行绑定,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis提供了动态SQL的功能,使得...
1. **MyBatis简介**:MyBatis是一个轻量级的ORM(对象关系映射)框架,它允许开发者编写SQL语句,将数据库操作与业务逻辑分离,提供灵活的数据库访问方式。 2. **配置文件**:MyBatis的主配置文件(mybatis-config....
1. **MyBatis简介**:MyBatis 源自于iBatis,是一个基于Java的持久层框架,旨在简化SQL操作,将SQL语句和Java代码分离,使数据库访问更直观、更易于维护。 2. **配置文件**:MyBatis的核心配置文件是`mybatis-...
Mybatis 简介与原理 Mybatis 是一个优秀的持久层框架,支持定制化 SQL、存储过程以及高级映射。它避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。Mybatis references iBatis,一个基于 Java 的持久层...
1. **MyBatis简介**:MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射...
1. **MyBatis简介**:MyBatis的起源、设计理念以及它如何简化数据库操作。它强调了与Spring框架的集成,使得事务管理和依赖注入变得更加便捷。 2. **安装与配置**:包括如何在项目中引入MyBatis,配置...
1. **MyBatis简介** MyBatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集。它使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的...
1. MyBatis 简介 * MyBatis 是一个持久化框架,它支持自定义 SQL、存储过程和高级映射。 * MyBatis 可以消除几乎所有的 JDBC 代码和手动设置参数和结果的检索。 2. 获取_started * MyBatis 提供了多种方式来开始...