gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章mybatis 加载配置文件的方法(两种方式)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

一. 使用sqlSessionFactory 的 mapperLocations 进行加载.

?
1
2
3
4
5
6
7
<!-- 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进行扫描 。

?
1
2
3
4
5
<!-- 扫描指定包下的所有接口,创建代理类,如果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 。

?
1
2
3
4
5
6
7
8
<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 加载配置文件的两种方式 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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 加载配置文件的方法(两种方式),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。

原文链接:http://blog.csdn.net/u011526234/article/details/51202641 。

最后此篇关于mybatis 加载配置文件的方法(两种方式)的文章就讲到这里了,如果你想了解更多关于mybatis 加载配置文件的方法(两种方式)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com