一. MyBatis简介
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。
每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。
用xml文件构建SqlSessionFactory实例是非常简单的事情。推荐在这个配置中使用类路径资源(classpath resource),但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建的实例。MyBatis有一个实用类----Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。
MyBatis 最强大的特性之一就是它的动态语句功能。如果您以前有使用JDBC或者类似框架的经历,您就会明白把SQL语句条件连接在一起是多么的痛苦,要确保不能忘记空格或者不要在columns列后面省略一个逗号等。动态语句能够完全解决掉这些痛苦。尽管与动态SQL一起工作不是在开一个party,但是MyBatis确实能通过在任何映射SQL语句中
使用强大的动态SQL来改进这些状况。
动态SQL元素对于任何使用过JSTL或者类似于XML之类的文本处理器的人来说,都是非常熟悉的。在上一版本中,需要了解和学习非常多的元素,但在MyBatis 3 中有了许多的改进,现在只剩下差不多二分之一的元素。MyBatis使用了基于强大的OGNL表达式来消除了大部分元素
二. MyBatis是对JDBC技术做的封装
-
封装了获取连接、创建statement、设置sql参数、执行sql、释放连接过程
-
封装了将查询结果ResultSet记录映射成实体对象过程
-
封装了Dao对象实现过程(只提供接口,框架生成实现对象)
三. 程序员使用MyBatis需要做以下工作:
-
搭建MyBatis框架环境
-
编写实体类
-
编写SQL语句
-
编写Dao接口
-
获取SqlSession进行数据库操作
四. Mybatis基本应用
实现基本的增删改查功能,下面是本案例的基本框架图
1. 搭建MyBatis框架环境
首先需要引入两个包:mybatis.jar 和sqljdbc42.jar包
设置 mybatis 配置文件: SqlMapConfig.xml, 在 src目录下建立此文件,内容如下:
<?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> <!-- 为SQL定义部分的parameterType或resultType属性指定自定义类型的别名 --> <typeAliases> <typeAlias alias="ServiceStation" type="com.mybatis.models.ServiceStation" /> </typeAliases> <!-- 设置数据库连接参数 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> <property name="url" value="jdbc:sqlserver://mssql-rw-cyp_coopbusiness.vip.test.suixinhuan.com;DatabaseName=CYP_CoopBusiness" /> <property name="username" value="Umanager" /> <property name="password" value="ASD123asd!1" /> </dataSource> </environment> </environments> <!-- 加载SQL定义文件 --> <mappers> <mapper resource="com/mybatis/sql/ServiceStation.xml" /> </mappers> </configuration>