首先简单介绍一下MyBatis:MyBtis前身是iBatis,本是Apche的一个开源项目,2010年这个项目由Apache Software Foundation 迁移到了Google Code,并改名为MyBatis.2013年迁移到Github。MyBtis是一个开源的数据持久层框架。MyBatis内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询、存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis作为持久层框架,其主要思想是将程序中的大量SQL语句剥离出来,配置在配置文件中,实现SQL的灵活配置,这样实现了SQL与程序代码的分离,可以在不修改程序代码的情况下直接在配置文件中修改SQL。
既然我们要用MyBaits链接数据库,所以需要一个数据库的驱动包,以及一个MyBatis源码包,(通过idea创建Maven项目)在pom.xml文件中引入需要的依赖。其中引入junit是便于后面的测试,而log4j则能看到一些日志信息,有时能为找bug提供帮助。
接下来创建MyBatis核心配置文件。MyBatis核心配置文件主要用于配置数据库连接和Mybatis运行时所需要的各种特性,包含了行为的设置(setting)和属性(properties)信息。命为为"mybatis-config.xml"以区分各个配置文件。
PS:datasource type设置为POOLED,MyBatis会创建一个数据库连接池,连接池中的一个连接将会被用作数据库操作,一旦数据库操作完成,MyBatis会将此连接返回给连接池,在开发或测试环境中,经常使用此方式。
1.数据库连接池技术的思想非常简单,将数据库连接作为对象存储在一个Vector对象中,一旦数据库连接建立后,不同的数据库访问请求就可以共享这些连接,这样,通过复用这些已经建立的数据库连接,可以克服上述缺点,极大地节省系统资源和时间。
数据库连接池的主要操作如下:(1)建立数据库连接池对象(服务器启动)。
(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。
(3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。
(4)存取数据库。
(5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)
(6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。
2,使用JDBC的事务管理机制:即利用java.sql.Connection对象完成对事务的提交(commit())、回滚(rollback())、关闭(close())等,MyBati