oracle jdbc 测试,Oracle 数据库连接(JDBC)学习测试

公共类 定义数据库连接和关闭:

package com.java.jdbc;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class DBConnection {

/**

* 一、JDBC 的驱动分类:

* 比较常见的驱动程序有四类:

* jdbc-odbc 桥驱动

* jdbc 本地驱动

* jdbc 网络驱动

* 本地协议纯jdbc 驱动

* 开发中常见: jdbc-odbc 、网络jdbc 连接、纯jdbc连接

*

*

*

* 二、java 为JDBC 提供的 API接口有:

* java.sql.Connection --用于处理与特定数据库连接;

* java.sql.DriverManager -- 处理驱动程序的加载和数据库的连接;

* java.sql.Statement -- 用于在指定连接中处理sql语句;

* java.sql.ResultSet -- 用于操作数据库操作的结果集,用户通过对结果集的操作完成对数据库的访问

*

* 其中:java.sql.Statement 接口下包括两个接口:

* java.sql.PreparedStatement -- 处理预编译的Sql语句;

* java.sql.CallableStatement -- 用于处理数据库的存储过程;

*

* 三、利用jdbc创建数据库连接公共类

*

* 常用的数据库驱动和url:

* oracle 数据库中:

* oracle database driver :

* oracle.jdbc.driver.OracleDriver

* oracle database URL :

* jdbc:oracle:thin:@localhost:1521:oracle

* SQL server 数据库中:

* Sql Server database driver:

* com.microsoft.sqlserver.jdbc.SqlServerDriver

* Sql Server database url:

* jdbc:sqlserver://ip:1433:databasename=dbname

* 四、数据库连接的步骤:

* 1、、 定义数据库驱动:

* private static final String driver = "oracle.jdbc.OracleDriver";

* 2、 定义数据库url资源对象:

* private static final String url ="jdbc:oracle:thin:@localhost:1521:oracle";

* 3、: 设定数据库连接管理用户及密码:

* private static final String username = "scott";

* private static final String password = "A2i0a0o8";

* 4、 加载数据库驱动:

* Class.forName(driver);

* 5、创建数据库连接:

* //一般数据库连接单独作为公共类,所以要设置为全局对象,在需要连接时,调用方法就行

* Connection conn = DriverManager.getConnection(url, username, password);

* // 在处理类中调用以连接数据库;

* Connection conn = DBConnection.getConnection(); //这里的getConnection()是自定义的方法

*

* 6、创建创建Statement 对象,用于处理指定的sql语句

* Statement stmt = conn.createStatement();

* 7、创建sql语句字符串:

* String sql = "SQL语句"

* 8、创建ResultSet 对象,对数据库操作,返回一个结果集:

* ResultSet rs = stmt.executeQuery(sql);

* ResultSet rs = stmt.executeUpdate(sql);

* 9、对结果集操作以完成对数据库的访问操作

* while(rs.next()){ //处理结果集 //rs.get**取操作列 }

* 10、关闭Statement 对象和数据库关闭;//这里可以在数据库连接中声明一个关闭方法,每次进行完数据库操作后,调用此方法关闭

* stmt .close();

* conn.close();

*/

/*------数据库连接----------*/

//定义数据库驱动程序

// 私有的 ,静态的,固定的 jdbc驱动

private static final String driver = "oracle.jdbc.OracleDriver";

//创建数据库URL对象,定义连接地址

//私有静态常量的数据库实例(本地数据库),可以替换成别的

private static final String url ="jdbc:oracle:thin:@localhost:1521:oracle";

// 定义数据库连接用户名及密码:

private static final String username = "scott";

private static final String password = "A2i0a0o8";

//声明数据库连接对象,初始化为空

private static Connection conn = null;

// 自定义连接方法

public static Connection getConnection(){ // Connection 为返回类型,getConnection 方法名

try {

//利用反射机制来创建对象

Class.forName(driver); //加载驱动程序

//利用java为jdbc 提供的接口DriverManager 来实现数据库连接

conn = DriverManager.getConnection(url, username, password); //创建连接

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return conn;

}

// 自定义数据库关闭方法

public static void close(){

try {

Statement stmt = conn.createStatement(); //创建Sql语句对象

if(stmt != null){

stmt.close();

}

} catch (SQLException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

if (conn != null){

try {

conn.close();

System.out.println("数据库已关闭");

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

else{

System.out.println("无数据库连接!");

}

}

}

操作测试类,完成对数据的访问操作:

package com.java.jdbc;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class SqlTest {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

selecttest(); //方法调用

sqltest();

}

public static void selecttest(){

//数据库连接

Connection conn = DBConnection.getConnection();

try {

//创建Statement 对象,用于处理指定的sql语句

Statement stmt = conn.createStatement(); //创建SQL语句对象

String sql = "select emp.ename,emp.job,emp.sal,dept.dname from emp,dept where emp.deptno = dept.deptno";

//创建ResultSet 对象,用于操作数据库操作的结果集

ResultSet rs = stmt.executeQuery(sql); //执行查询处理,返回一个结果集

while(rs.next()){ //处理结果集

//rs.get**取操作列

System.out.println("姓名:"+rs.getString("ename")+"\t职位:"+rs.getString("job")+

"\t薪资:"+rs.getFloat(3)+"\t部门名称:"+rs.getString(4));

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

DBConnection.close();

}

}

public static void sqltest(){

Connection conn = DBConnection.getConnection();

try {

Statement stmt = conn.createStatement();

String sql1= "insert into emp(empno,ename,job,sal) values(1002,'周姐','软件测试',3500)";

String sql2 = "update emp set deptno = 30 where empno = 1001";

String sql3 = "delete from emp where empno =900";

//批量操作

stmt.addBatch(sql1);

stmt.addBatch(sql2);

stmt.addBatch(sql3);

//批量执行

stmt.executeBatch();

System.out.println("执行完成!");

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

DBConnection.close();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值