Mybatis学习day01
Mybatis简介
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
---------------百度百科
Mybatis所需要的jar包
mybatis官网: http://www.mybatis.org/mybatis-3/
jar包下载地址: https://github.com/mybatis/mybatis-3/releases
Mybatis的核心配置文件mybatis-config.xml
可以在工程下面创建一个config包专门放置配置文件使用,如果是IDEA的话需要将包类型改成Resources才可以,不然到时候会提示找不到文件
<?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>
以上代码来源官网、你可以复制进你创建好的mybatis-config.xml文件中
configuration
这个标签是整个配置文件的根标签,所有的配置设置都是在里面。上面就是一些声明
environments
该标签是环境配置,在现实开发中,我们不可能只有一套环境,有开发环境,测试环境等等。它的属性default就是选择你所使用的环境的id。
environment
这就是配置环境的标签,在environments标签下可以有多个environment,代表不同的环境,有一个属性id,唯一标识符。在选择环境的时候使用。
transactionManager
事务管理器,它的type属性指定它所使用的事务,有JDBC和MANAGED两种
- JDBC:这个配置就是直接使用了 JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。
- MANAGED:这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如 JEE 应用服务器的上下文)。 默认情况下它会关闭连接,然而一些容器并不希望这样,因此需要将 closeConnection 属性设置为 false 来阻止它默认的关闭行为。
所以我们在选择上通常都是JDBC。
dataSource
dataSource 元素使用标准的 JDBC 数据源接口来配置 JDBC 连接对象的资源。
许多 MyBatis 的应用程序会按示例中的例子来配置数据源。虽然这是可选的,但为了使用延迟加载,数据源是必须配置的。
有三种内建的数据源类型(也就是 type=”[UNPOOLED|POOLED|JNDI]”)
不同的数据源使用了不同的连接技术。
mappers
映射器,告诉mybatis去哪里找SQL映射文件。
有三种方式:
- <mapper resource=“org/mybatis/builder/AuthorMapper.xml”/>
相对于类路径的资源引用 - <mapper url=“file:///var/mappers/AuthorMapper.xml”/>
使用完全限定资源定位符(URL)这个就是在磁盘上的路径 - <mapper class=“org.mybatis.builder.AuthorMapper”/>
使用映射器接口实现类的完全限定类名 - <package name=“org.mybatis.builder”/>
将包内的映射器接口实现全部注册为映射器
个人比较喜欢第三种方式,快捷,简单
typeAliases
给类型起别名,这样在使用一些类的时候不需要写完整的类资源路径
<typeAliases>
<typeAlias alias="Author" type="domain.blog.Author"/>
</typeAliases>
上面就是给domain…blog.Author起了一个别名,我们在使用的时候可以直接使用Author.