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

 更新时间:2017年12月12日 13:47:53   作者:java-北京-菜鸟  
这篇文章主要介绍了mybatis 加载配置文件的方法,通过实例代码给大家介绍了mybatis 加载配置文件的两种方式,需要的朋友可以参考下

一. 使用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 加载配置文件的方法(两种方式),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Spring AI 使用本地 Ollama Embeddings的操作方法

    Spring AI 使用本地 Ollama Embeddings的操作方法

    使用 OpenAI 的 Embeddings 接口是有费用的,如果想对大量文档进行测试,使用本地部署的 Embeddings 就能省去大量的费用,所以我们尝试使用本地的 Ollama Embeddings,这篇文章主要介绍了Spring AI 使用本地 Ollama Embeddings,需要的朋友可以参考下
    2024-05-05
  • 简单了解JAVA变量类型及代码实例

    简单了解JAVA变量类型及代码实例

    这篇文章主要介绍了简单了解JAVA变量类型及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Spring boot如何配置请求的入参和出参json数据格式

    Spring boot如何配置请求的入参和出参json数据格式

    这篇文章主要介绍了spring boot如何配置请求的入参和出参json数据格式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 详解如何保护SpringBoot配置文件中的敏感信息

    详解如何保护SpringBoot配置文件中的敏感信息

    使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些,所以为了提高安全性,就需要对配置文件中的敏感信息进行保护,下面就为大家介绍一下实现方法吧
    2023-07-07
  • RabbitMQ简单队列实例及原理解析

    RabbitMQ简单队列实例及原理解析

    这篇文章主要介绍了RabbitMQ简单队列实例及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Jmeter连接Mysql数据库实现过程详解

    Jmeter连接Mysql数据库实现过程详解

    这篇文章主要介绍了Jmeter连接Mysql数据库实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • java web监听器统计在线用户及人数

    java web监听器统计在线用户及人数

    本文主要介绍了java web监听器统计在线用户及人数的方法解析。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Java 常见的几种内存溢出异常的原因及解决

    Java 常见的几种内存溢出异常的原因及解决

    这篇文章主要介绍了Java 常见的几种内存溢出异常及解决,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-04-04
  • SpringBoot深入理解之内置web容器及配置的总结

    SpringBoot深入理解之内置web容器及配置的总结

    今天小编就为大家分享一篇关于SpringBoot深入理解之内置web容器及配置的总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • RocketMQ消息积压原因及处理方法

    RocketMQ消息积压原因及处理方法

    RocketMQ是一种可靠的、可扩展的消息中间件,广泛应用于分布式系统中的消息通信,然而,在高并发的场景下,由于消息产生速度超过消费速度,可能会导致消息积压的问题,本文将介绍RocketMQ消息积压的原因和如何处理积压问题
    2023-06-06

最新评论