MyBatis
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
整合
MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。 使用这个类库中的类, Spring 将会加载必要的 MyBatis 工厂类和 session 类。 这个类库也提供一个简单的方式来注入 MyBatis 数据映射器和 SqlSession 到业务层的 bean 中。 而且它也会处理事务, 翻译 MyBatis 的异常到 Spring 的 DataAccessException 异常中。最终,它并 不会依赖于 MyBatis,Spring 或 MyBatis-Spring 来构建应用程序代码。
安装
要使用MyBatis,并且使用Maven来构建项目,则只需将下面的dependency代码置于pom.xml文件中:
|
|
要和Spring一起使用MyBatis,我们需要在SPring应用上下文中定义至少两样东西:一个SqlSessionFactory 和至少一个数据映射器类。
从XML中构建SqlSessionFactory
在 MyBatis-Spring中,SqlSessionFactoryBean 是用于创建SqlSessionFactory的。要配置这个工厂bean,放置下面的代码在 Spring的XML配置文件中:
|
|
要注意SqlSessionFactoryBean需要一个DataSource(数据源)。这可以是任意的DataSource,配置它就像配置其他的Spring数据库连接是一样的。
|
|
创建数据映射器类
我们创建的数据映射器类如下:
|
|
然后用MapperFactoryBean将给接口加入到Spring中:
|
|
注意所指定的映射器类必须是一个接口而不是具体的实现类。在这个实例中,注解被用来指定SQL语句,但是MyBatis的映射器XML文件也可以用,这个我将在下面再讲。
事务
一个使用MyBatis-Spring的主要原因是它允许MyBatis参与到Spring的事务管理中,而不是给MyBatis创建一个新的特定的事务管理器。
|
|
要开始Spring的事务管理,要在Spring的XML配置文件中创建一个DataSourceTransactionManager对象,然后使用
|
|
结语
先附上完整的MyBatis的配置XML文件spring-db.xml
|
|
这样,一个满足基本增删改查的Spring与MyBatis的整合应用就完成了,如果你想查看完整的项目代码,可以点击链接(SpringMVCRookie-dev-mybatis)
参考&引用
更新时间
发布时间 : 2016-07-16