[发明专利]一种Mybatis数据源与连接池的交互方法在审
申请号: | 201710054913.5 | 申请日: | 2017-01-24 |
公开(公告)号: | CN106844678A | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | 宋健;刘华兴;郭清轩 | 申请(专利权)人: | 山东浪潮商用系统有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 韩月娥 |
地址: | 250100 山东省济南市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 mybatis 数据源 连接 交互 方法 | ||
技术领域
本发明涉及计算机技术领域,具体的说是一种Mybatis数据源与连接池的交互方法。
背景技术
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。
SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。
由于创建一个Java.sql.Connection对象的过程,在底层相当于和数据库建立的通信连接,在建立通信连接的过程需要大量时间,而且往往建立连接后(即创建Java.sql.Connection对象后),只是执行一个简单的SQL语句,然后就要抛弃掉,这是一个非常大的资源浪费,创建一个Java.sql.Connection对象的代价非常巨大。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种Mybatis数据源与连接池的交互方法。
本发明所述一种Mybatis数据源与连接池的交互方法,解决上述技术问题采用的技术方案如下:所述一种Mybatis数据源与连接池的交互方法,在内存中创建一容器记为连接池用于存放Connection对象,当需要操作数据库时,则能直接从内存中取出Connection对象,极大节省了创建Connection对象的资源消耗;
主要包括如下步骤:(1)初始化驱动:判断driver驱动是否已经加载到内存中,若未加载,则会动态地加载driver类,并实例化一个Driver对象,使用DriverManager.registerDriver()方法将其注册到内存中,以供后续使用;
(2)创建Connection对象:使用DriverManager.getConnection()方法创建连接;
(3)配置Connection对象:设置是否自动提交autoCommit和隔离级别isolationLevel;
(4)返回Connection对象:每调用一次getConnection()方法,都会通过DriverManager.getConnection()返回新的java.sql.Connection实例。
优选的,MyBatis把数据源分为三种:UnpooledDataSource、PooledDataSource以及使用JNDI实现的数据源JNDI;PooledDataSource、UnpooledDataSource都实现了Java.sql.DataSource接口,并且PooledDataSource持有一个UnpooledDataSource的引用,当PooledDataSource需要创建java.sql.Connection实例对象时,通过UnpooledDataSource来创建。
优选的,在MyBatis初始化的过程中创建MyBatis数据源DataSource对象:在mybatis的XML配置文件中,使用<dataSource>元素来配置数据源。
优选的,MyBatis在初始化时解析此XML配置文件,根据<dataSource>的type属性创建相应的类型的数据源DataSource:
type=”POOLED”:MyBatis创建PooledDataSource实例
type=”UNPOOLED”:MyBatis创建UnpooledDataSource实例
type=”JNDI”:MyBatis从JNDI服务上查找DataSource实例。
优选的,当创建SqlSession对象并执行SQL语句时,MyBatis调用dataSource对象来创建java.sql.Connection对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮商用系统有限公司,未经山东浪潮商用系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710054913.5/2.html,转载请声明来源钻瓜专利网。