目录
一 . Mybatis概念
1. MyBatis原名叫IBATIS,iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton
Begin在2001年发起的开放源代码项目。最初侧重于密码软件的开发,现在是一个基于Java的持久层框架。
2. 注意:ibatis本是apache的一个开源项目,2010年这个项目由apache sofeware foundation
迁移到了google code,并且改名为MyBatis
二 . Mybatis 优点
2.1 简单性
具有与JDBC 一样相同的运行机制,mybatis是以xml的形式描述JDBC
2.2 生产效率
任何一个优秀的框架,其基本目的都是使得框架的使用者能够获得更高的生产效率.MyBatis减少了持久层大约62%的代码量
2.3 性能
就目前而言,最重要的是要知道MyBatis总是能通过一种简单的方式来配置和使用,其性能与JDBC相当,甚至更好。另一个需要重点考虑的问题就是,并不是所有的JDBC代码都是编写良好的。
JDBC API非常复杂,编写正确的代码需要非常小心。不幸的是,大量的JDBC代码都编写得相当糟糕,因此从较低层次上看甚至还没有
MyBatis工作得好
2.4 分离点
提供了一组数据库无关的接口以及API ,使得应用程序的其他部分与持久化相关的资源无关.使用
MyBatis,你的代码总是在且按与严格的对象打交道,而不用操心结果集。 MyBatis实际上使得我们更佳接近于应用程序分层这样的最佳实践。
2.1 可移植性
由于相对简单的设计,它几乎可以用任何一种语言在任何一个平台上实现。目前,MyBatis支持3种最受欢迎的开发平台
Java、Ruby和微软.NET的C#。
2.1 开源(免费)
三 . Mybatis 与JDBC的区别
减少了62%的代码量
最简单的持久化框架
架构级性能增强
SQL代码从程序代码中彻底分离,可重用
增强了项目中的分工
增强了移植性
四 . Mybatis的工作流程
五 . Mybatis的环境配置
5.1数据库创建测试表
5.1.2 简单的测试保存操作
1.创建 User 实体类
2.创建配置Mapper映射文件
<mapper namespace="student">
具体配置
</mapper>
根元素,namespace配置名称空间,名称空间可以用来有效的区分SQL语句ID
3.在Mapper映射文件中配置
ResultMap类表映射
insert update delete select标签写入SQL语句
<resultMap id="BaseResultMap" type="com.icss.MyBatis.pojo.Student">
<id column="stu_id" property="stuId" jdbcType="INTEGER" />
<result column="stu_name" property="stuName" jdbcType="VARCHAR" />
<result column="stu_birthdate" property="stuBirthdate" jdbcType="TIMESTAMP" />
<result column="stu_phone" property="stuPhone" jdbcType="VARCHAR" />
</resultMap>
4.在核心配置文件中,用<mapper/>标签引入映射文件路径
5.编写程序读取核心配置文件,调用CRUD功能方法
5.2 新建工程
5.3 打jar包
</properties>
<!-- 打包的方式-->
<packaging>jar</packaging>
5.4 在类路径下创建总配置文件
<configuration>
<!-- 实体类的别名 -->
<typeAliases>
<typeAlias type="cn.MyBatis.domain.Student" alias="Student"/>
</typeAliases>
<!-- 环境管理,可以配置多个环境,默认是default="development"的环境 -->
<environments default="development">
<environment id="development">
<!-- 事务管理方式,JDBC事务 -->
<transactionManager type="JDBC" />
<!-- 数据源,type="POOLED"表示使用连接池 -->
<dataSource type="POOLED">
<property value="oracle.jdbc.OracleDriver" name="driver" />
<property value="jdbc:oracle:thin:@localhost:1521/xe" name="url" />
<property value="shch" name="username" />
<property value="a123" name="password" />
</dataSource>
</environment>
</environments>
<!--映射文件路径,可能会有多个mapper映射 -->
<mappers>
<mapper resource="com/icss/MyBatis/pojo/StudentMapper.xml"/>
</mappers>
</configuration>
文章评论