传统的Java Web应用开发时,一般使用JDBC进行数据库连接和操作SQL命令。但是,随着互联网技术的飞速发展,使用JDBC已经满足不了项目的开发需求,出现了Hibernate、MyBatis等一些优秀的持久层框架,它们结合了JDBC的优点,使得开发简捷、规范、快速,系统易维护、易扩展。
1.1 JDBC数据库访问技术
JDBC(Java DataBase Connectivity, Java数据库互连),是一种提供连接数据库、使用SQL语句操作数据库技术的标准Java API。在传统的JSP/Servlet开发模式下,一般直接使用JDBC进行数据库的连接和操作。
1.1.1 JDBC的基本使用
JDBC访问数据库的一般过程如下图所示。
目前在开发过程中,基于分层设计,使用DAO(Data Access Obeject)数据访问对象。
总结:传统JDBC开发模式中,SQL语句全部是“硬编码”在程序中,当要修改SQL语句时,需要修改源码并重新编译;同时数据库的连接、打开、关闭在多个方法中反复调用。这些都不利用项目的开发和维护。
1.2 基于MyBatis框架的数据库访问技术
MyBatis 是一款支持动态 SQL 语句的持久层框架,可以将 SQL 语句写在在 XML 文件中,使得 SQL 语句和 Java 代码实现了分离,让开发人员精力集中在 SQL 语句上,方便系统的开发和维护。
下载地址: MyBatis 下载地址:
https://github.com/mybatis/mybatis-3
MyBatis的整体结构如下:
Mybatis主配置文件:XML格式文件,其中配置了数据库驱动、数据连接
地址、数据库用户名和密码、事务管理、关联的局部配置文件等参数,
格式如下图所示:
SQL映射配置文件(局部配置文件):XML格式文件,包括各种类型的SQL
语句,以及SQL语句所需参数,SQL语句执行结果返回值类型都可以配置
在该文件中,格式如下图:
会话工厂:SqlSessionFactory类,该类使用了工厂模式,可以根据资
源信息加载对象,获取开发人员在项目中配置的数据库配置文件的信息,
从而创建出一种可以与数据库交互的会话实例类(
SqlSession):
会话:SqlSession类可以根据SQL配置,调用相应的方法去执行SQL命令,
对数据库进行操作。