程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> MyBatis若何應用(三)

MyBatis若何應用(三)

編輯:關於JAVA

MyBatis若何應用(三)。本站提示廣大學習愛好者:(MyBatis若何應用(三))文章只能為提供參考,不一定能成為您想要的結果。以下是MyBatis若何應用(三)正文


在前邊論述了零丁應用mybatis的辦法,在現實開辟進程中mybatis常常和spring一路應用,即mybatis和spring停止集成,如今我們來看若何集成。

mybatis和spring停止集成須要用到集成包:mybatis-spring-1.1.1.jar,此包供給mybatis和spring集成的支撐,把此包導入到項目標lib目次下。

我們先看mybatis零丁應用的時刻的進程,mybatis設置裝備擺設文件==》讀取設置裝備擺設文件==》操作數據庫,詳細的應用辦法可參照前兩篇文章。

上面停止mybatis和spring的集成,

1、mybatis設置裝備擺設文件

在和spring做集成時mybatis的設置裝備擺設文件中有些設置裝備擺設不再須要了,spring會應用它本身的。如數據源,上面看下mybatis的設置裝備擺設文件,MybatisConfiguration.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> 
<typeAlias alias="Message" type="com.cn.imooc.entity.Message"/> 
</typeAliases> 
<mappers>
<mapper resource="com/cn/mappers/message.xml"/>
</mappers>
</configuration> 

下面的設置裝備擺設文件設置裝備擺設了別號和mappers映照文件,和之前的設置裝備擺設文件比擬,可以看出沒有了關於數據源的信息,這裡在mybatis的設置裝備擺設文件中不再須要設置裝備擺設數據源,須要在spring的設置裝備擺設文件中設置裝備擺設。

2、spring設置裝備擺設文件

既然和spring做集成,那末必需導入spring的包,關於spring的包可以早年面的文章中取得;導入spring的包以後,就須要設置裝備擺設spring的設置裝備擺設文件,我們把spring的設置裝備擺設文件放在src下,名字為spring-application.xml,

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<bean id="address" class="com.cn.test.spring.Address"></bean>
<!-- 引入jdbc設置裝備擺設文件 --> 
<!--
<context:property-placeholder location="jdbc.properties"/> 
-->
<!--1、創立jdbc數據源 --> 
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" > 
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/weixin?useUnicode=true&characterEncoding=UTF-8" />
<property name="username" value="root"/>
<property name="password" value="123456"/> 
</bean> 
<!--2、sqlSessionFactoryBean--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:MybatisConfiguration.xml"></property>
<!--
<property name="mapperLocations" value="classpath:com/cn/mappers/message.xml"></property>
-->
</bean>
<bean id="messageMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.cn.inter.IMessageOperation" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
</beans> 

起首,我們設置裝備擺設了一個數據源,這裡假如引入了context的定名空間,可使用<context:property-placeholder location="jdbc.properties"/>,引入src下的設置裝備擺設文件。

其次,設置裝備擺設了sqlSessionFactoryBean,這裡應用sqlSessionFactoryBean生成sqlSessionFactory(在mybatis中sqlSessionFactory由sqlSessionFactoryBuilder生成)。要經由過程sqlSessionFactroyBean生成sqlSessionFactroy有以下幾個屬性,dataSource 即適才設置裝備擺設的數據源,指定生成sqlSessionFactory應用的數據源

configLocation 這個屬性指定mybatis的設置裝備擺設文件的途徑,在本例中我們應用了src下的MybatisConfiguration.xml,假如在此文件中設置裝備擺設了mappers映照文件,則不須要第三個屬性,假如沒設置裝備擺設映照文件則須要第三個屬性;假設,在MybatisConfiguration.xml文件中沒有設置裝備擺設映照文件,也沒有設置裝備擺設mapperLocations屬性,則映照文件必需必需和映照器類在統一個包下,且映照文件和映照器類必需名字雷同。

mapperLocations 指定mappers映照文件,這個屬性可以設置裝備擺設為一個list的值

最初,應用靜態署理生成拜訪數據庫的代碼,MapperFactoryBean作為一個工場類,可以用來生成拜訪數據庫的靜態署理,有兩種方法可以生成一個靜態署理,這裡應用了mapperInterface和sqlSessionFactory兩個屬性,第一個指定映照器類的全限途徑,第二個就是下面的sqlSessionFactory;另外一種方法是應用注解的方法。

至此,spring的設置裝備擺設文件完成,可以停止測試,測試代碼以下,

package com.cn.test.spring;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.cn.imooc.entity.Message;
import com.cn.inter.IMessageOperation;
public class TestSpringAndMybatis {
public static void main(String[] args) {
// TODO Auto-generated method stub
//取得spring的設置裝備擺設
ClassPathXmlApplicationContext cpxac=new ClassPathXmlApplicationContext("spring-application.xml");
//取得IMessageOperation接口類
IMessageOperation imo=(IMessageOperation)cpxac.getBean("messageMapper");
Message m=imo.selectMessageById("2");
System.out.println(m);
}
} 

上邊完成了mybatis和spring集成的一種方法,我們會發明在生成署理的時刻假如有多個映照器類,則須要設置裝備擺設屢次,比擬費事,下篇文章應用另外一種方法。

以上所述是小編給年夜家引見的MyBatis若何應用(三),願望對年夜家有所贊助,假如年夜家有任何疑問請給我留言,小編會實時答復年夜家的。在此也異常感激年夜家對網站的支撐!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved