如何利用JDBC连接并 *** 作Oracle数据库

如何利用JDBC连接并 *** 作Oracle数据库,第1张

/

 一个非常标准的连接Oracle数据库的示例代码

/

public void testOracle()

{

    Connection con = null;// 创建一个数据库连接

    PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement

    ResultSet result = null;// 创建一个结果集对象

    try

    {

        ClassforName("oraclejdbcdriverOracleDriver");// 加载Oracle驱动程序

        Systemoutprintln("开始尝试连接数据库!");

        String url = "jdbc:oracle:thin:@127001:1521:XE";// 127001是本机地址,XE是精简版Oracle的默认数据库的SID

        // 如果是服务名,则用String url = "jdbc:oracle:thin:@127001:1521/ORCL

        String user = "system";// 用户名,系统默认的账户名

        String password = "147";// 你安装时选设置的密码

        con = DriverManagergetConnection(url, user, password);// 获取连接

        Systemoutprintln("连接成功!");

        String sql = "select  from student where name=";// 预编译语句,“?”代表参数

        pre = conprepareStatement(sql);// 实例化预编译语句

        presetString(1, "刘显安");// 设置参数,前面的1表示参数的索引,而不是表中列名的索引

        result = preexecuteQuery();// 执行查询,注意括号中不需要再加参数

        while (resultnext())

            // 当结果集不为空时

            Systemoutprintln("学号:" + resultgetInt("id") + "姓名:"

                    + resultgetString("name"));

    }

    catch (Exception e)

    {

        eprintStackTrace();

    }

    finally

    {

        try

        {

            // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源

            // 注意关闭的顺序,最后使用的最先关闭

            if (result != null)

                resultclose();

            if (pre != null)

                preclose();

            if (con != null)

                conclose();

            Systemoutprintln("数据库连接已关闭!");

        }

        catch (Exception e)

        {

            eprintStackTrace();

        }

    }

}

java中使用jdbc连接sql server数据库步骤:

1JDBC连接SQL Server的驱动安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证)

将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbcjar文件,得到其路径开始配置环境变量

在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_12\enu\sqljdbcjar

设置SQLEXPRESS服务器:

a打开SQL Server Configuration Manager -> SQLEXPRESS的协议 -> TCP/IP

b右键单击启动TCP/IP

c双击进入属性,把IP地址中的IP all中的TCP端口设置为1433

d重新启动SQL Server 2005服务中的SQLEXPRESS服务器

e关闭SQL Server Configuration Manager

打开 SQL Server Management Studio,连接SQLEXPRESS服务器, 新建数据库,起名字为sample

打开Eclipse

a新建工程-> Java -> Java project,起名为Test

b选择eclipse->窗口->首选项->Java->installed JRE 编辑已经安装好的jdk,查找目录添加sqljdbcjar

c右键单击目录窗口中的Test, 选择Build Path ->Configure Build Path, 添加扩展jar文件,即把sqljdbcjar添加到其中

编写Java代码来测试JDBC连接SQL Server数据库

import javasql;

public class Test {

public static void main(String[] srg) {

//加载JDBC驱动

String driverName = "commicrosoftsqlserverjdbcSQLServerDriver";

//连接服务器和数据库sample

String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";

String userName = "sa"; //默认用户名

String userPwd = "123456"; //密码

Connection dbConn;

try {

ClassforName(driverName);

dbConn = DriverManagergetConnection(dbURL, userName, userPwd);

Systemoutprintln("Connection Successful!"); //如果连接成功 控制台输出

} catch (Exception e) {

eprintStackTrace();

}

}

}

执行以后就可以连接到sample数据库了。

String driverName = "commysqljdbcDriver"; // 加载JDBC驱动

String dbURL = "jdbc:mysql://localhost:3306/test"; // 连接服务器和数据库test

String userName = "sa"; // 默认用户名

String userPwd = "sa"; // 密码

javasqlConnection dbConn;

 

try {

    ClassforName(driverName)newInstance();

    dbConn = javasqlDriverManagergetConnection(dbURL, userName, userPwd);

    Systemoutprintln("Connection Successful!");  //如果连接成功 控制台输出Connection Successful!

} catch (ClassNotFoundException e) {

    Systemoutprintln("没有找到驱动");

} catch (Exception e) {

    // TODO: handle exception

    eprintStackTrace();

}

还是直接上代码吧。

1在新建的Project中右键新建Floder

2

2创建名为lib的包

3创建完毕之后的工程目录

4接下来解压你下载的mysql的jar包,拷贝其中的jar文件

5在工程lib包下邮件 选择paste即粘贴,把mysql的jar包拷贝进来

6拷贝完毕如图:

7在mysql的jar包上右键选择 build path - add to build path

8添加完毕之后,工程才与Mysql的jar包关联起来,现在可以使用相关类和方法了

9在工程中新建JdbcTest1java类

10输入如下代码:

11代码解释:

Driver是个实现类,它由具体的数据库厂商来实现。

它的connect方法可以获取数据库连接。参数如上图。

运行之后,输出如下,证明数据库连接成功!

12说明:这个是使用Driver连接数据库的,而通常开发中使用的是DriverManager或数据库连接池,这个仅作为理解数据库连接事例使用。

如果数据库表中有记录,就证明你的插入没有问题,但是查询为空,检查下你的查询语句,直接使用sysoutoutprintln()输出看看我们对于JAVA初学者和自学者,对JAVASE、JAVAEE和三大框架进行辅导,如果需要详细了解,请查看我资料的网址连接,我们一定耐心为你解答。

去网上找个mysql驱动jar包,不同的数据库只需要改加载驱动和得到连接的参数就可以了,具体参数去网上搜下,额对,还需要找对应的jar包

import javasql;

public class Test1{

public static void main(String args[])throws Exception{

//测试mysql数据库

//1加载驱动

ClassforName("commysqljdbcDriver");

//2得到一个连接

Connection con=DriverManagergetConnection("jdbc:mysql://192168124:3306/etoak","root","root");

//jdbc:mysql mysql数据库协议

//localhost:连接的主机名称,3306 mysql数据库端口号

//etoak 数据库名称

//3封装sql语句

String insert="insert into student value(6,'ek','ek')";

//4得到一个执行sql语句的对象

Statement sta=concreateStatement();

//5执行sql语句

staexecute(insert);

//6关闭流

staclose();

conclose();

}

}

1、加载JDBC驱动程序:

在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),

这通过javalangClass类的静态方法forName(String className)实现。

例如:

try{

//加载MySql的驱动类

ClassforName("commysqljdbcDriver") ;

}catch(ClassNotFoundException e){

Systemoutprintln("找不到驱动程序类 ,加载驱动失败!");

eprintStackTrace() ;

}

成功加载后,会将Driver类的实例注册到DriverManager类中。

2、提供JDBC连接的URL

•连接URL定义了连接数据库时的协议、子协议、数据源标识。

•书写形式:协议:子协议:数据源标识

协议:在JDBC中总是以jdbc开始

子协议:是桥连接的驱动程序或是数据库管理系统名称。

数据源标识:标记找到数据库来源的地址与连接端口。

例如:(MySql的连接URL)

jdbc:mysql:

//localhost:3306/testuseUnicode=true&characterEncoding=gbk ;

useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为

gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。

3、创建数据库的连接

•要连接数据库,需要向javasqlDriverManager请求并获得Connection对象,

该对象就代表一个数据库的连接。

•使用DriverManager的getConnectin(String url , String username ,

String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和

密码来获得。

例如:

//连接MySql数据库,用户名和密码都是root

String url = "jdbc:mysql://localhost:3306/test" ;

String username = "root" ;

String password = "root" ;

try{

Connection con =

DriverManagergetConnection(url , username , password ) ;

}catch(SQLException se){

Systemoutprintln("数据库连接失败!");

seprintStackTrace() ;

}

4、创建一个Statement

•要执行SQL语句,必须获得javasqlStatement实例,Statement实例分为以下3

种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过PreparedStatement实例实现。

3、执行数据库存储过程。通常通过CallableStatement实例实现。

具体的实现方式:

Statement stmt = concreateStatement() ;

PreparedStatement pstmt = conprepareStatement(sql) ;

CallableStatement cstmt =

conprepareCall("{CALL demoSp( , )}") ;

5、执行SQL语句

Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate

和execute

1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句

,返回一个结果集(ResultSet)对象。

2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或

DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等

3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的

语句。

具体实现的代码:

ResultSet rs = stmtexecuteQuery("SELECT FROM ") ;

int rows = stmtexecuteUpdate("INSERT INTO ") ;

boolean flag = stmtexecute(String sql) ;

6、处理结果

两种情况:

1、执行更新返回的是本次 *** 作影响到的记录数。

2、执行查询返回的结果是一个ResultSet对象。

• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些

行中数据的访问。

• 使用结果集(ResultSet)对象的访问方法获取数据:

while(rsnext()){

String name = rsgetString("name") ;

String pass = rsgetString(1) ; // 此方法比较高效

}

(列是从左到右编号的,并且从列1开始)

7、关闭JDBC对象

*** 作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声

明顺序相反:

1、关闭记录集

2、关闭声明

3、关闭连接对象

if(rs != null){ // 关闭记录集

try{

rsclose() ;

}catch(SQLException e){

eprintStackTrace() ;

}

}

if(stmt != null){ // 关闭声明

try{

stmtclose() ;

}catch(SQLException e){

eprintStackTrace() ;

}

}

if(conn != null){ // 关闭连接对象

try{

connclose() ;

}catch(SQLException e){

eprintStackTrace() ;

}

}

一般的话,一个数据库连接用完之后是要关闭的。

如果是一个项目的话一般使用数据库连接池,如果有多个数据库的话最好是建立多个连接池,这样的话,在系统启动时,一次加载一定数量的连接对象,用完之后放回去。

如果你仅仅需要两个数据库连接对象的话,不如分别创建两个静态全局变量来保存两个数据库的连接对象。

以上就是关于如何利用JDBC连接并 *** 作Oracle数据库全部的内容,包括:如何利用JDBC连接并 *** 作Oracle数据库、jdbc怎么连接sqlserver服务器下的数据库、如何使用jdbc连接mysql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9317776.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存