jdbc数据库编程有哪些优点,spring的jdbc与hibernate两个的优缺点
来源:整理 编辑:黑码技术 2024-04-28 14:25:11
1,spring的jdbc与hibernate两个的优缺点
jdbc创建动态表比较简单,增删改查比较麻烦,hibernate的增删改查比较简单,性能上比较高动态表比较复杂。
2,jdbchibernateibatis三者的优缺点
JDBC:SQL语句自己写,开发效率最低,但是使用最灵活,一般被大型项目所采用。Hibernate:SQL语句都被封装,开发效率高,但是使用不灵活,一般被小型项目采用。iBatis:介于两者之间,应用也比较广泛。JDBC操作数据库效率最高,最灵活Hibernate映射了表和类,效率慢些,便于利用面向对象的思想来操作数据库,使用率很高iBatis介于两者之间,目前应用比较广泛了1 看需求了,jdbc更为灵活,更加有效率,系统运行速度快。但是用起来麻烦,有的时候用了存储过程就不方便数据库移植了。2 Hibernate,IbatIS 关系数据库框架,开发速度快,更加面向对象,可以移植更换数据库,但影响系统性能。jdbc 墨迹 费事hibernate 太自动化 不灵活ibatis 半自动化 灵活jdbc是一套数据库访问标准,提供了一组接口,是java语言访问数据库用到的东西hibernate是一套orm映射框架,提供以对象的方式访问数据,但底层还是要把对象映射为jdbc来访问的。ibatis也是一套数据库访问框架,但它是把sql语句给抽出来了,这样将来改语句的时候不用修改代码,底层也是jdbc
3,高级JDBC有什么好处
1.1.1 JDBC 的用途是什么? 简单地说,JDBC 可做三件事: 与数据库建立连接, 发送SQL 语句, 处理结果。 下列代码段给出了以上三步的基本示例: Connection con = DriverManager.getConnection ( \\\"jdbc:odbc:wombat\\\", \\\"login\\\", \\\"password\\\"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(\\\"SELECT a, b, c FROM Table1\\\"); 网管联盟bitsCN_com while (rs.next()) { int x = rs.getInt(\\\"a\\\"); String s = rs.getString(\\\"b\\\"); float f = rs.getFloat(\\\"c\\\"); } 1.1.2 JDBC 是一种低级 API ,是高级 API 的基础 JDBC 是个“低级”接口,也就是说,它用于直接调用 SQL 命令。在这方面它的功能极佳,并比其它的数据库连接 API 易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。 高级接口是“对用户友好的”接口,它使用的是一种更易理解和更为方便的 API,这种 API 在幕后被转换为诸如 JDBC 这样的低级接口。在编写本文时,正在开发两种基于 JDBC 的高级 API: 一种用于 Java 的嵌入式 SQL。至少已经有一个提供者计划编写它。DBMS 实现SQL:一种专门设计来与数据库联合使用的语言。JDBC 要求 SQL 语句必须作为 String 传给 Java 方法。相反,嵌入式 SQL预处理器允许程序员将 SQL 语句直接与Java 混在一起使用。例如,可在 SQL 语句中使用 Java 变量,用以接受或提供SQL 值。然后,嵌入式 SQL 预处理器将通过 JDBC 调用把这种 Java/SQL 的混合物转换为Java。关系数据库表到 Java 类的直接映射。JavaSoft 和其它提供者都声称要实现该API。在这种“对象/关系”映射中,表中的每行对应于类的一个实例,而每列的值对应于该实例的一个属性。于是,程序员可直接对 Java 对象进行操作;存取数据所需的 SQL 调用将在“掩盖下”自动生成。此外还可提供更复杂的映射,例如将多个表中的行结合进一个 Java 类中。 网管u家u.bitscn@com 随着人们对 JDBC 的兴趣日益增涨,越来越多的开发人员一直在使用基于 JDBC 的工具,以使程序的编写更加容易。程序员也一直在编写力图使最终用户对数据库的访问变得更为简单的应用程序。例如,应用程序可提供一个选择数据库任务的菜单。任务被选定后,应用程序将给出提示及空白供填写执行选定任务所需的信息。所需信息输入后,应用程序将自动调用所需的SQL 命令。在这样一种程序的协助下,即使用户根本不懂 SQL 的语法,也可以执行数据库任务。 1.1.3 JDBC 与 ODBC 和其它 API 的比较 目前,Microsoft 的 ODBC(开放式数据库连接)API 可能是使用最广的、用于访问关系数据库的编程接口。它能在几乎所有平台上连接几乎所有的数据库。为什么Java 不使用 ODBC? 网管联盟bitsCN@com 对这个问题的回答是:Java 可以使用 ODBC,但最好是在 JDBC 的帮助下以JDBC-ODBC 桥的形式使用,这一点我们稍后再说。现在的问题已变成:“为什么需要 JDBC”? 回答如下:ODBC 不适合直接在 Java 中使用,因为它使用 C 语言接口。从 Java 调用本地 C 代码在安全性、实现、坚固性和程序的自动移植性方面都有许多缺点。
4,JDBC的好处
用了ORM框架和jdbc以后对比发现,jdbc唯一的好处是更底层更自由,当然也因此你会花更多的时间去写操作数据库的代码,而这些东西其实很多框架已经帮我们做好了,推荐你使用hibernate,虽然很多人说它性能不咋样,但是我暂时还没看出来它的性能差异。1.1.1 jdbc 的用途是什么? 简单地说,jdbc 可做三件事: 与数据库建立连接, 发送sql 语句, 处理结果。 下列代码段给出了以上三步的基本示例: connection con = drivermanager.getconnection ( \\\"jdbc:odbc:wombat\\\", \\\"login\\\", \\\"password\\\"); statement stmt = con.createstatement(); resultset rs = stmt.executequery(\\\"select a, b, c from table1\\\"); 网管联盟bitscn_com while (rs.next()) { int x = rs.getint(\\\"a\\\"); string s = rs.getstring(\\\"b\\\"); float f = rs.getfloat(\\\"c\\\"); } 1.1.2 jdbc 是一种低级 api ,是高级 api 的基础 jdbc 是个“低级”接口,也就是说,它用于直接调用 sql 命令。在这方面它的功能极佳,并比其它的数据库连接 api 易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。 高级接口是“对用户友好的”接口,它使用的是一种更易理解和更为方便的 api,这种 api 在幕后被转换为诸如 jdbc 这样的低级接口。在编写本文时,正在开发两种基于 jdbc 的高级 api: 一种用于 java 的嵌入式 sql。至少已经有一个提供者计划编写它。dbms 实现sql:一种专门设计来与数据库联合使用的语言。jdbc 要求 sql 语句必须作为 string 传给 java 方法。相反,嵌入式 sql预处理器允许程序员将 sql 语句直接与java 混在一起使用。例如,可在 sql 语句中使用 java 变量,用以接受或提供sql 值。然后,嵌入式 sql 预处理器将通过 jdbc 调用把这种 java/sql 的混合物转换为java。关系数据库表到 java 类的直接映射。javasoft 和其它提供者都声称要实现该api。在这种“对象/关系”映射中,表中的每行对应于类的一个实例,而每列的值对应于该实例的一个属性。于是,程序员可直接对 java 对象进行操作;存取数据所需的 sql 调用将在“掩盖下”自动生成。此外还可提供更复杂的映射,例如将多个表中的行结合进一个 java 类中。 网管u家u.bitscn@com 随着人们对 jdbc 的兴趣日益增涨,越来越多的开发人员一直在使用基于 jdbc 的工具,以使程序的编写更加容易。程序员也一直在编写力图使最终用户对数据库的访问变得更为简单的应用程序。例如,应用程序可提供一个选择数据库任务的菜单。任务被选定后,应用程序将给出提示及空白供填写执行选定任务所需的信息。所需信息输入后,应用程序将自动调用所需的sql 命令。在这样一种程序的协助下,即使用户根本不懂 sql 的语法,也可以执行数据库任务。 1.1.3 jdbc 与 odbc 和其它 api 的比较 目前,microsoft 的 odbc(开放式数据库连接)api 可能是使用最广的、用于访问关系数据库的编程接口。它能在几乎所有平台上连接几乎所有的数据库。为什么java 不使用 odbc? 网管联盟bitscn@com 对这个问题的回答是:java 可以使用 odbc,但最好是在 jdbc 的帮助下以jdbc-odbc 桥的形式使用,这一点我们稍后再说。现在的问题已变成:“为什么需要 jdbc”? 回答如下:odbc 不适合直接在 java 中使用,因为它使用 c 语言接口。从 java 调用本地 c 代码在安全性、实现、坚固性和程序的自动移植性方面都有许多缺点。
5,为什么使用JDBC数据库编程
在JDBC数据库编程中经常要使用ODBC。所以,在讲述JDBC的驱动程序分类之前,首先介绍什么是ODBC。ODBC是指Open DataBase Connectivity,即开放数据库互连,它建立了一组规范,并且提供了一组对数据库访问的标准API(应用程序编程接口),这些API利用SQL来完成其大部分任务。ODBC也提供了对SQL的支持。JDBC驱动程序由实施了这些接口的类组成,JDBC的总体结构有4个组件,分别为应用程序、驱动程序管理器、驱动程序和数据源。将JDBC转换成ODBC驱动器,依靠ODBC驱动器和数据库通信。在这种方式下,ODBC驱动程序和桥代码必须出现在用户的每台机器中,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装不是主要问题),或者是用Java编写的三层结构的应用程序服务器代码。本地API一部分用Java来编写的驱动程序。这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其他DBMS的调用。像其他驱动程序一样,这种类型的驱动程序,要求将某些二进制代码加载到每台客户机上。JDBC网络纯Java驱动程序将JDBC转换为与DBMS无关的网络协议,这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上,所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。所有这种解决方案的提供者,都提供适合于Intranet用的产品。为了使这些产品支持Internet,它们必须处理Web所提出的安全性、通过防火墙的访问等额外要求,几家提供者正将JDBC驱动程序,加到他们现有的数据库中间件产品中。本地协议纯Java驱动程序类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议,这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。由于许多这样的协议都是专用的,因此数据库提供者自己将是主要来源。目前市面上有很多种数据库,例如Oracle、Sybase、MS SQL Server和MS Access等数据库。有些读者就会认为既然有这么多数据库,这里要学习数据库编程,是不是就要学习对应每一种数据库的编程方法呢。在JDBC之前是这样的,但是有了JDBC后,就变得非常容易。JDBC在数据库编程中将起到非常重要的作用。首先程序员可以使用Java开发基于数据库的应用程序,在遵守Java语言规则的同时,可以使用标准的SQL语句访问任何数据库。如果数据库厂商提供较低层的驱动程序,程序员可以在自己的软件中,使用比较优化的驱动程序。很多数据库系统带有JDBC驱动程序,Java程序就通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC bridge,用此技术,Java程序就可以访问带有ODBC驱动程序的数据库。目前,大多数数据库系统都带有ODBC驱动程序,所以,Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。我只说oracle数据库的连接方式,导入一个ojdbc14_11g.jar的包import java.sql.*;public class jdbcstring sql = "select * from user"; //查看用户表的信息string url = "jdbc:oracle:thin:@127.0.0.1:1521:orl";string user = "admin"; //安装的时候定义用户名string password = "admin"; //安装时候定义的密码connection conn = null; //连接数据库statement stmt = null; //发送数据库resultset rs = null; //执行的语句public jdbc()tryclass.forname("oracle.jdbc.driver.oracledriver").; //设置数据的方言~有mysql,oracle等conn = drivermanager.getconnection(url,user,password); //连接数据库时要输入的东西stmt = conn.createstatement(); //在连接数据库的基础上,发送数据库rs = stmt.executequery(sql); //要执行查看用户表的信息//在后台上看输出结果,假设用户表只有id列和pass列while(rs.next())int id = rs.getint("id");string pass = rs.getstring("pass");system.out.println(id+","+pass); //输出}}catch(exception e)e.printstacktrace();}finallytryrs.close();stmt.close();conn.close();}catch(exception e)e.printstacktrace();}}}
文章TAG:
数据 数据库 编程 程有 jdbc数据库编程有哪些优点
大家都在看
-
谷歌浏览器json插件,浏览器json格式化插件
2023-09-10
-
读写数据库 用哪个语言,如何在JavaScript中读取数据库
2023-10-02
-
哪个平台学数据库最好,急谁知道哪个网站的数据库教程好啊
2023-10-05
-
消音插件手机,studio one消音插件
2023-10-05
-
dos命令解压zip程序,windows解压zip文件dos命令
2024-03-25
-
更新win10后插件打不开,Win10更新助手打不开
2023-11-17
-
ps 光线 插件,丁达尔光线插件
2024-01-29
-
哪个网站可以电影数据库,IMDb 是什么网站有什么用
2024-02-27
-
max插件学习,MAX转SU插件
2024-02-11
-
google拦截广告的插件,safari拦截广告插件
2024-03-31
-
教育部考试中心 插件
2023-08-26
-
童程童美单位电话,珠海市的童程童美公司招聘是真的吗我看了好多地方都有啊
2023-10-11
-
xbmc安卓插件安装,kodi xbmc安装什么插件
2024-02-04
-
cad快捷插件,快捷cad软件怎么制图
2024-03-25
-
cf flash插件下载,FLASH播放器插件下载
2024-04-13