溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mybatis 加載配置文件的方法(兩種方式)

發(fā)布時(shí)間:2020-09-10 17:18:04 來源:腳本之家 閱讀:318 作者:java-北京-菜鳥 欄目:編程語言

一. 使用sqlSessionFactory 的 mapperLocations 進(jìn)行加載,

<!-- SessionFactory --> 
 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" scope="singleton"> 
 <property name="dataSource" ref="dataSource" /> 
 <property name="configLocation" value="classpath:mybatis-config.xml" /> 
 <!-- 映射文件路徑,可以集中寫到一個(gè)地方,也可以與dao寫到一個(gè)地方,支持多個(gè)路徑,支持通配符--> 
 <property name="mapperLocations" value="classpath:mapper/*.xml,classpath:com/sunny/shop/*/dao/*.xml"></property> 
 </bean> 

此種方法可以使用通配符, 可以指定位置, 可以使用多個(gè)位置,

二. 使用MapperScannerConfigurer進(jìn)行掃描

<!-- 掃描指定包下的所有接口,創(chuàng)建代理類,如果mysql的配置文件名與接口名相同的話,可以不用一一配置 --> 
 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 
  <property name="basePackage" value="com.sunny.shop" /> 
  <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> 
</bean> 

此種方法可以掃描指定包下的接口, 如果需要掃描配置文件, 則配置文件須與對應(yīng)的DAO接口處于同一目錄, 且名字必須相同

三.配置 mybatis 的 mapper

<mappers> 
 <!-- 既可寫映射文件, 也可寫對應(yīng)的接口 --> 
  
  <!--<mapper resource="com/mybatis/student/StudentMapper.xml" /> 
  <mapper resource="com/mybatis/classes/ClassesMapper.xml" /> 
   <mapper class="com.sunny.shop.user.dao.UserDao" /> 
  --> 
 </mappers> 

前兩種都是在spring的配置文件中配置的, 在 mybatis 的配置文件中配置 <mappers>節(jié)點(diǎn)

PS:下面給大家介紹下mybatis 加載配置文件的兩種方式

package com.atguigu.day03_mybaits.test;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class Test {
public static void test1(){
///加載mybatis的配置文件(它也加載關(guān)聯(lián)的映射文件)
String str="conf.xml";
InputStream is=Test.class.getClassLoader().getResourceAsStream(str);
//構(gòu)建sqlSession的工廠
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
SqlSession session=factory.openSession();
//映射sql的標(biāo)識字符串,是在影射文件中找到namespace+“”+select中的id
String statement="com.atguigu.day03_mybaits.userMapper.getUser";
//執(zhí)行查詢返回一個(gè)唯一user對象的sql
User user=session.selectOne(statement, 1);
System.out.println(user);
}
public static void test2() throws IOException{
///加載mybatis的配置文件(它也加載關(guān)聯(lián)的映射文件)
String resource = "conf.xml"; 
//加載mybatis的配置文件(它也加載關(guān)聯(lián)的映射文件)
Reader reader = Resources.getResourceAsReader(resource); 
//構(gòu)建sqlSession的工廠
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(reader);
SqlSession session=factory.openSession();
//映射sql的標(biāo)識字符串,是在影射文件中找到namespace+“”+select中的id
String statement="com.atguigu.day03_mybaits.userMapper.getUser";
//執(zhí)行查詢返回一個(gè)唯一user對象的sql
User user=session.selectOne(statement, 2);
System.out.println(user);
}
public static void main(String[] args) throws IOException {
test1();
test2();
}
}

總結(jié)

以上所述是小編給大家介紹的mybatis 加載配置文件的方法(兩種方式),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI