4、mybatis通过配置类Configuration 实现初始化

对于初学者,如果进行mybatis的学习呢?我总结了几点,会慢慢的更新出来。首先大家需要了解mybatis是什么、用mybatis来做什么、为什么要用mybatis、有什么优缺点;当知道了为什么的时候就开始了解如何用的问题,如何使用mybatis、有几种使用方式、各种方式的优缺点,在这个阶段也会学习mybatis涉及到的一些标签的用法;当知道了基础用法之后,就开始接触一些高级的用法,例如动态sql的使用、mybatis的缓存使用等;至此,在实战项目中使用mybatis进行开发已经没有问题了。

接下来就开始深入的研究一下mybatis这个持久层的框架,在纯技术的方面进行研究,提高自己的能力。首先,大家需要了解一下mybatis的整体技术架构和工作原理;接下来,就开始了解一下mybatis各大核心组件的具体功能及其工作原理。至此,算是对mybatis的原理简单的了解一下了,由于博主的能力有限,因此对于mybatis的框架技术研究也就到这里算结束了。

最后会了解一些其他的东西,例如:mybatis的逆向工程使用、如何开发一个mybatis插件,在这里会介绍一下mybatis的分页实现等。

至此,mybatis也算是入门了,出去就可以和别人说,你稍微了解mybatis框架,对其也多少有一点自己的理解和看法了。

目录

1、创建并实例化配置类,获取到SqlSessionFactory

2、添加sql映射文件,需要与对应的接口在统一目录下

3、进行数据查询操作


上一节 说到通过mybatis的全局配置文件 mybatis-config.xml 进行mybatis的配置,在启动应用时,mybatis会自动解析 mybatis-config.xml 进行初始化,其实这个过程就是 解析配置文件,实例化配置类 Configuration 的过程。

基于此,可以不通过全局配置文件初始化mybatis,而通过Configuration配置类实现,具体操作如下:

1、创建并实例化配置类,获取到SqlSessionFactory

public static SqlSessionFactory buildSqlSessionFactory(){

	SqlSessionFactory sqlSessionFactory = null;

	// 准备数据源连接信息
	DataSource dataSource = new PooledDataSource(
								"com.mysql.cj.jdbc.Driver",
								"jdbc:mysql://localhost:3306/app-oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT",
								"root",
								"*******");

	// 准备事务管理
	TransactionFactory transactionFactory = new JdbcTransactionFactory();

	// 构建一个环境
	Environment environment = new Environment("development" , transactionFactory, dataSource);

	// 实例化配置类
	Configuration configuration = new Configuration(environment);

	// 注册映射器类
	configuration.addMapper(UserMapper.class);

	// 获取SqlSessionFactory, 实例化结束
	sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);

	return sqlSessionFactory;
}

2、添加sql映射文件,需要与对应的接口在统一目录下

3、进行数据查询操作

public static void main(String[] args) throws IOException {

    // 获取 SqlSessionFactory
	SqlSessionFactory sqlSessionFactory = MybatisConfig.buildSqlSessionFactory();

	// 获取 SqlSession
	SqlSession sqlSession = sqlSessionFactory.openSession();

	// 通过SqlSession进行接下来的数据处理操作
	UserMapper mapper = sqlSession.getMapper(UserMapper.class);
	User user = mapper.selectUser(5L);

	// 关闭 SqlSession
	sqlSession.close();

	System.out.println(user);
}

这个就不详细介绍了,会用即可,如果感兴趣,可以看一下源码是如何处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值