欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mybatis 加载配置文件的方法(两种方式)

程序员文章站 2023-12-04 11:28:10
一. 使用sqlsessionfactory 的 mapperlocations 进行加载, &...

一. 使用sqlsessionfactory 的 mapperlocations 进行加载,

<!-- sessionfactory --> 
 <bean id="sqlsessionfactory" class="org.mybatis.spring.sqlsessionfactorybean" scope="singleton"> 
 <property name="datasource" ref="datasource" /> 
 <property name="configlocation" value="classpath:mybatis-config.xml" /> 
 <!-- 映射文件路径,可以集中写到一个地方,也可以与dao写到一个地方,支持多个路径,支持通配符--> 
 <property name="mapperlocations" value="classpath:mapper/*.xml,classpath:com/sunny/shop/*/dao/*.xml"></property> 
 </bean> 

此种方法可以使用通配符, 可以指定位置, 可以使用多个位置,

二. 使用mapperscannerconfigurer进行扫描

<!-- 扫描指定包下的所有接口,创建代理类,如果mysql的配置文件名与接口名相同的话,可以不用一一配置 --> 
 <bean class="org.mybatis.spring.mapper.mapperscannerconfigurer"> 
  <property name="basepackage" value="com.sunny.shop" /> 
  <property name="sqlsessionfactorybeanname" value="sqlsessionfactory"></property> 
</bean> 

此种方法可以扫描指定包下的接口, 如果需要扫描配置文件, 则配置文件须与对应的dao接口处于同一目录, 且名字必须相同

三.配置 mybatis 的 mapper

<mappers> 
 <!-- 既可写映射文件, 也可写对应的接口 --> 
  
  <!--<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>节点

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的配置文件(它也加载关联的映射文件)
string str="conf.xml";
inputstream is=test.class.getclassloader().getresourceasstream(str);
//构建sqlsession的工厂
sqlsessionfactory factory=new sqlsessionfactorybuilder().build(is);
sqlsession session=factory.opensession();
//映射sql的标识字符串,是在影射文件中找到namespace+“”+select中的id
string statement="com.atguigu.day03_mybaits.usermapper.getuser";
//执行查询返回一个唯一user对象的sql
user user=session.selectone(statement, 1);
system.out.println(user);
}
public static void test2() throws ioexception{
///加载mybatis的配置文件(它也加载关联的映射文件)
string resource = "conf.xml"; 
//加载mybatis的配置文件(它也加载关联的映射文件)
reader reader = resources.getresourceasreader(resource); 
//构建sqlsession的工厂
sqlsessionfactory factory=new sqlsessionfactorybuilder().build(reader);
sqlsession session=factory.opensession();
//映射sql的标识字符串,是在影射文件中找到namespace+“”+select中的id
string statement="com.atguigu.day03_mybaits.usermapper.getuser";
//执行查询返回一个唯一user对象的sql
user user=session.selectone(statement, 2);
system.out.println(user);
}
public static void main(string[] args) throws ioexception {
test1();
test2();
}
}

总结

以上所述是小编给大家介绍的mybatis 加载配置文件的方法(两种方式),希望对大家有所帮助