Mybatis 与 JDBC 比较

来源:互联网 发布:日剧的价值观知乎 编辑:程序博客网 时间:2024/06/08 15:16

  • JDBC 是 Java Database Connector,JDBC API 主要供开发人员使用,JDBC Driver API 主要供底层 数据库 开发人员使用,用于设计与具体数据库的接口。

JDBC 实现的流程

加载驱动 —— 加载数据库驱动,一般是Class.forName方法实现;

打开链接 —— 开启数据库链接,参数包括数据库 URL 、Name 和 pwd;

执行查询 —— 执行数据库查询语句;

处理结果 —— 处理数据库查询结果;

清理环境 —— 清理数据库环境,依次关闭开启的 API;

代码示例

详见:JDBC 实现 数据库的增删改查

详址:http://blog.csdn.net/u013630349/article/details/52091527

  • Mybatis是一个持久层的框架,是apache下的顶级项目。mybatis托管到googlecode下,再后来托管到github下(https://github.com/mybatis/mybatis-3/releases)。

Mybatis 的特点
1.    mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要sql语句。
2.    mybatis可以将向 preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。(输出映射)。

Mybatis 的实现步骤

1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能。
设想:使用数据库连接池管理数据库连接。
2、将sql语句硬编码到java代码中,如果sql 语句修改,需要重新编译java代码,不利于系统维护。
设想:将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译。
3、向preparedStatement中设置参数,对占位符号位置和设置参数值,硬编码在java代码中,不利于系统维护。
设想:将sql语句及占位符号和参数全部配置在xml中。
4、从resultSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,不利于系统维护。
设想:将查询的结果集,自动映射成java对象。

Mybatis 与 JDBC 的比较

1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能。
设想:使用数据库连接池管理数据库连接。
2、将sql语句硬编码到java代码中,如果sql 语句修改,需要重新编译java代码,不利于系统维护。
设想:将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译。
3、向preparedStatement中设置参数,对占位符号位置和设置参数值,硬编码在java代码中,不利于系统维护。
设想:将sql语句及占位符号和参数全部配置在xml中。
4、从resultSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,不利于系统维护。
设想:将查询的结果集,自动映射成java对象。

0 0
原创粉丝点击