mybatis

mybatis简介
mybatis是一种持久层框架,也属于ORM映射,前身是ibatis。相比于hibernate,hibernate为全自动框架,配置文件书写后不需要书写SQL语句,但缺乏灵活性,很多时候需要优化。mybatis是半自动化框架,需要自己写SQL语句,需要自己定义映射,增加了程序员的一些操作,但带来了设计上的灵活,并且也支持hibernate的一些特性,如延迟加载,缓存,映射等。度暑假库的兼容性比hibernate差。移植性不好,但可编写灵活和高性能的SQL语句。
mybatis组成
核心对象:SqlSessionFactory SqlSession
配置文件:mybatis.cfg.xml相当于hibernate的hibernate的hibernate.cfg.xml
多个类配置文件:user.xml相当于hibernate的映射类文件
支持注释配置
mybatis所需jar包
mybatis-3.1.1.jar mybatis核心jar包

  •   数据库驱动包

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>
<typeAliases>
<!-- 为每个JavaBean取一个别名 -->
<!-- <typeAlias alias="StudentBean" type="com.wxl.beans.StudentBean"/>
<typeAlias alias="ClassBean" type="com.wxl.beans.ClassBean"/> -->
<!-- 使用beans包下类名作为别名 -->
<package name="com.wxl.beans"/>
</typeAliases>
<!-- default用于设置默环境,也就是默认使用的数据库,值为相应环境ID -->
<environments default="first">
<!-- 设置环境ID -->
<environment id="first">
<!-- 配置事务管理器 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 数据源配置 -->
<!-- POOLED表示使用数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="cv#zF$t178"/>
</dataSource>
</environment>
</environments>
<!-- 定义SQL映射语句 -->
<!-- 可以使用类的相对路径资源引用,或字符表示、或URL引用的完全限定名(包括files://URLS)-->
<mappers>
<!-- 类的相对路径资源的应用 -->
<!-- <mapper resource="com.wxl.mapper.StudentMapper.xml"/> -->
<!-- 使用完全限定路径 -->
<!-- <mapepr url="D://jee/mybatis03/src/com.wxl.mapper.StudentMapper.xml"/> -->
<!-- 映射mapper包下所有的 mapper.xml 文件 -->
<package name="com.wxl.mapper"/>
</mappers>
</configuration>
mapper.xml ORM文件
<?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">
<!-- 配置sql映射文件的命名空间 -->
<mapper namespace=”student”>
</mapper>
命名空间的作用:
1)更好的分类SQL语句块,更好维护
2)防止SQL语句块重名
3)在设置了命名空间后,那么在相应的应用程序中可以方便地使用“命名空间.语句块名”进行调用

posted @ 2016-07-19 23:35  刀口一人  阅读(237)  评论(0编辑  收藏  举报