仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 798|回复: 19
打印 上一主题 下一主题

[学习教程] 来看浅析数据源在JDBC中的使用

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:30:54 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。
简介
尽人皆知,JDBC(Java数据库毗连)是Java2企业版的主要构成部分。它是基于SQL层的API。经由过程把SQL语句嵌进JDBC接口的办法中,用户能够经由过程Java程序实行几近一切的数据库操纵。JDBC只供应了接口,详细的类的完成请求数据库的计划者完成。经由过程天生这些接口的实例,即便关于分歧的数据库,Java程序也能够准确地实行SQL挪用。以是关于程序员来讲,不用把注重力放在怎样向数据库发送SQL指令,由于程序员必要懂得和用到的只是JDBC的接口,只要在少少数情形下会用到面向特定命据库的类,比方程序员但愿利用ORACLE的扩大API。
在JDBC程序中,起首必要做的是完成与数据库的毗连。在示例程序中,我们利用的是ORACLE8i的JDBC包。毗连数据库一般必要完成以下几个步骤:
1.注册数据库驱动程序(driver)。能够经由过程挪用java.sql.DriverManager类的registerDriver办法显式注册驱动程序,也能够经由过程加载数据库驱动程序类隐式注册驱动程序。比方我们但愿向假造机注册Oracle8iJDBC驱动程序
//显式注册
DriverManager.registerDriver(neworacle.jdbc.driver.OracleDriver());
//隐式注册
Class.forName(“oracle.jdbc.driver.OracleDriver”);
关于假造机怎样主动注册经由过程类加载器(ClassLoader)加载的数据库驱动程序凌驾了本文会商的局限,在此不做具体会商。
2.创建毗连。挪用java.sql.DriverManager类的getConnection()办法能够创建与数据库的毗连。GetConnection()办法前往一个Connection对象。必要注重的是,getConnection()办法会主动从数据库驱动程序注册表当选择一个最符合的驱动程序。
3.创建毗连后,同意主动更新(AutoCommit)。挪用java.sql.Connection接口的serAutoCommit()办法能够设定当程序向数据库收回一条SQL指令后,数据库是不是当即更新。
上面是一个详细的实例。在该实例中,作为getConnection()办法参数的url利用的是Net8keyword-valuepair格局。固然也能够利用一般格局。数据库安装在名为Chicago的服务器上,利用的协定是TCP协定,利用的端口是1521,数据库的SID是chidb,利用的数据库驱动程序是OracleJDBCThin驱动程序。
importjava.sql.*;
//初始化常数
privatestaticStringurl=
  “jdbc:oracle:thin:@(description=(address=(host=Chicago)”+
  “(protocol=tcp)(port=1521))(connect_data=(sid=chidb)))”;
  //也能够设定url为“jdbc:oracle:thin:@Chicago:1521:chidb”
  privatestaticStringusername=“guest”;
privatestaticStringpassword=“guest”;
try
{
  //注册数据库
  Class.forName(“oracle.jdbc.driver.OracleDriver”);
  //创建毗连
  Connectionconn=
  DriverManager.getConnection(url,username,password);
//同意主动更新
Conn.setAutoCommit(true);
}
catch(ClassNotFoundExceptione)
{
e.printStackTrace();
}
catch(SQLExceptione)
{
e.printStackTrace();
}
从实践使用的角度动身,我们能够看出接纳这类体例毗连到数据库存在几个成绩。第一是平安性成绩,因为程序代码中包括用户名和暗码,其别人假如能失掉bytecode,能够经由过程反编译工具取得用户名和暗码。第二是代码的可移植性成绩。假如但愿毗连的数据库称号或用户名有所变动,程序员必要修正源程序,然后把修正过的程序发送给用户。也就是说,软件没法离开数据库自力存在。如许不但会年夜年夜进步软件的本钱,也倒霉于软件自己的开展。还大概呈现如许的情形:在某些情形下,供应数据的机构不但愿数据库的用户名和暗码让编写程序的程序员晓得晓得。如许就提出了一个成绩,怎样使Java和数据库之间创建毗连时埋没一些敏感的信息。
<p>
windows系统样,他们做了什么事或者留了一些后门程序,谁都不知道,二,java开发是跨平台,任何系统上都可以运行,对于保密型系统和大型系统开发这是必要的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-10 21:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表