MyBatis框架介绍以及环境搭建

来源:互联网 发布:泳池派对李青 淘宝价格 编辑:程序博客网 时间:2024/04/30 06:49

1.1 MyBatis介绍

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache softwarefoundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

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

每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。

用xml文件构建SqlSessionFactory实例是非常简单的事情。推荐在这个配置中使用类路径资源(classpathresource),但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建的实例。MyBatis有一个实用类----Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。Mybatis也是一个ORM框架,是一个基于JDBC的开源框架.其中数据库和相关表必须手工创建。

1.2 MyBatis环境搭建

环境搭建步骤

第一步:导入需要的jar包放入src/libs文件夹下,并部署

第二步:配置MyBatis的配置文件并注册实体类的映射文件

MyBatis.cfg.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><!-- default="development":指定当前环境的模式,只有两个取值:development: 开发模式worker:工作模式 -->  <environments default="development">  <!--   id="development":指定当前的环境模式,只需要注意的是:当前id的取值必须和environments节点中default的取值相同     -->    <environment id="development">    <!-- type="JDBC":指定当前的事务管理器为JDBC,大小写不敏感     -->      <transactionManager type="JDBC"/>      <!--       type="POOLED":指定当前数据源的类型为连接池类型       -->      <dataSource type="POOLED">      <!--   数据库连接信息       -->        <property name="driver" value="com.mysql.jdbc.Driver"/>        <property name="url" value="jdbc:mysql:///test"/>        <property name="username" value="root"/>        <property name="password" value="zxczxc"/>      </dataSource>    </environment>  </environments>  <mappers>  <!-- 注册自定义的映射文件 -->    <mapper resource="com/gu/domain/Person.cfg.xml"/>  </mappers></configuration>

以上xml信息源于手册中给定的配置规范,更多使用方可以参考手册。


实体类的映射文件配置如下:

Person.cfg.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"><!--  namespace="com.gu.domain.PersonMapper":取值必须唯一,一般建议使用包名+类名  --><mapper namespace="com.gu.domain.PersonMapper"><!--id:唯一表示当前xml片段的,必须保证在指定的命名空间中队形的id值唯一;在java程序中,我们通过namespace+id值唯一确认我们操作的xml片段;parameterType="int":指定输入参数的数据类型resultType="Blog":指定输出参数的数据类型,或者是集合中元素的数据类型--><select id="selectById" parameterType="int" resultType="com.gu.domain.Person">select * from t_person where id = #{id} ;</select></mapper>