package javaTest;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
public class javaTest {
private String url = "";// 数据库连接字符串
private String username = "";// 数据库用户名
private String password = "";// 数据库密码
// 连接
public Connection conn() {
try {
// 第一步:加载JDBC驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
// 第二步:创建数据库连接
Connection con = DriverManager.getConnection(url, username,
password);
return con;
} catch (ClassNotFoundException cnf) {
System.out.println("driver not find:" + cnf);
return null;
} catch (SQLException sqle) {
System.out.println("can't connection db:" + sqle);
return null;
} catch (Exception e) {
System.out.println("Failed to load JDBC/ODBC driver.");
return null;
}
}
// 查询
/**
* <br>
* 方法说明:执行查询SQL语句 <br>
* 输入参数:Connection con 数据库连接 <br>
* 输入参数:String sql 要执行的SQL语句 <br>
* 返回类型:void
*/
public void query(Connection con, String sql) {
try {
if (con == null) {
throw new Exception("database connection can't use!");
}
if (sql == null)
throw new Exception(
"check your parameter: 'sql'! don't input null!");
// 第三步:获取Staetment对象
Statement stmt = con.createStatement();
// 第四步:执行数据库操作(查询操作)
ResultSet rs = stmt.executeQuery(sql);
// 第五步:处理结果集
ResultSetMetaData rmeta = rs.getMetaData();
// 获得数据字段个数
int numColumns = rmeta.getColumnCount();
System.out.print(numColumns + " numColumns");
while (rs.next()) {//行
for (int i = 0; i < numColumns; i++) {//列
String sTemp = rs.getString(i + 1);
System.out.print(sTemp + " ");
}
}
} catch (Exception e) {
System.out.println("query error:" + e);
}
}
/**
* <br>
* 方法说明:执行插入、更新、删除等没有返回结果集的SQL语句 <br>
* 输入参数:Connection con 数据库连接 <br>
* 输入参数:String sql 要执行的SQL语句 <br>
* 返回类型:void
*/
public void execute(Connection con, String sql) {
try {
if (con == null)
return;
// 第三步:获取Statement对象
Statement stmt = con.createStatement();
// 第四步:执行数据库操作(更新操作)
stmt.executeUpdate(sql);
System.out.println("update executed successly");
} catch (Exception e) {
System.out.println("execute error: sql = " + sql);
System.out.println(e);
}// end try catch
}// end execute
/**
* <br>
* 方法说明:实例演示 <br>
* 输入参数:无 <br>
* 返回类型:void
*/
public void demo() {
String sSQL = "";
BufferedReader stdin = new BufferedReader(new InputStreamReader(
System.in));
try {
// System.out.println("please input update SQL string");
// sSQL = stdin.readLine();// 获取命令行输入(更新字符串)
// sSQL =
// "select t.busi_no, t.seq_no, t.cphm, t.brh_no from PPTEST t";//
// 获取命令行输入(更新字符串)
Connection conn = conn();// 执行自定义连接方法(获取数据库连接对象)
// execute(conn, sSQL);// 执行自定义更新方法
String sql = "select t.busi_no, t.seq_no, t.cphm, t.brh_no from PPTEST t";
query(conn, sql);// 执行自定义查询方法(查询并处理结果集)
// 第六步:关闭数据库连接
conn.close();
} catch (SQLException se) {
System.out.println(se);
} catch (Exception e) {
System.out.println(e);
}
}
/**
* <br>
* 方法说明:主方法 <br>
* 输入参数:String[] args 命令行参数(包括:数据库连接URL, <br>
* 用户名,密码) <br>
* 返回类型:void
*/
public static void main(String[] arg) {
javaTest oc = new javaTest();
oc.url = "jdbc:oracle:thin:@10.143.6.152:1521:fapdb";
oc.username = "fapdb";
oc.password = "fapdb";
oc.demo();
}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
public class javaTest {
private String url = "";// 数据库连接字符串
private String username = "";// 数据库用户名
private String password = "";// 数据库密码
// 连接
public Connection conn() {
try {
// 第一步:加载JDBC驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
// 第二步:创建数据库连接
Connection con = DriverManager.getConnection(url, username,
password);
return con;
} catch (ClassNotFoundException cnf) {
System.out.println("driver not find:" + cnf);
return null;
} catch (SQLException sqle) {
System.out.println("can't connection db:" + sqle);
return null;
} catch (Exception e) {
System.out.println("Failed to load JDBC/ODBC driver.");
return null;
}
}
// 查询
/**
* <br>
* 方法说明:执行查询SQL语句 <br>
* 输入参数:Connection con 数据库连接 <br>
* 输入参数:String sql 要执行的SQL语句 <br>
* 返回类型:void
*/
public void query(Connection con, String sql) {
try {
if (con == null) {
throw new Exception("database connection can't use!");
}
if (sql == null)
throw new Exception(
"check your parameter: 'sql'! don't input null!");
// 第三步:获取Staetment对象
Statement stmt = con.createStatement();
// 第四步:执行数据库操作(查询操作)
ResultSet rs = stmt.executeQuery(sql);
// 第五步:处理结果集
ResultSetMetaData rmeta = rs.getMetaData();
// 获得数据字段个数
int numColumns = rmeta.getColumnCount();
System.out.print(numColumns + " numColumns");
while (rs.next()) {//行
for (int i = 0; i < numColumns; i++) {//列
String sTemp = rs.getString(i + 1);
System.out.print(sTemp + " ");
}
}
} catch (Exception e) {
System.out.println("query error:" + e);
}
}
/**
* <br>
* 方法说明:执行插入、更新、删除等没有返回结果集的SQL语句 <br>
* 输入参数:Connection con 数据库连接 <br>
* 输入参数:String sql 要执行的SQL语句 <br>
* 返回类型:void
*/
public void execute(Connection con, String sql) {
try {
if (con == null)
return;
// 第三步:获取Statement对象
Statement stmt = con.createStatement();
// 第四步:执行数据库操作(更新操作)
stmt.executeUpdate(sql);
System.out.println("update executed successly");
} catch (Exception e) {
System.out.println("execute error: sql = " + sql);
System.out.println(e);
}// end try catch
}// end execute
/**
* <br>
* 方法说明:实例演示 <br>
* 输入参数:无 <br>
* 返回类型:void
*/
public void demo() {
String sSQL = "";
BufferedReader stdin = new BufferedReader(new InputStreamReader(
System.in));
try {
// System.out.println("please input update SQL string");
// sSQL = stdin.readLine();// 获取命令行输入(更新字符串)
// sSQL =
// "select t.busi_no, t.seq_no, t.cphm, t.brh_no from PPTEST t";//
// 获取命令行输入(更新字符串)
Connection conn = conn();// 执行自定义连接方法(获取数据库连接对象)
// execute(conn, sSQL);// 执行自定义更新方法
String sql = "select t.busi_no, t.seq_no, t.cphm, t.brh_no from PPTEST t";
query(conn, sql);// 执行自定义查询方法(查询并处理结果集)
// 第六步:关闭数据库连接
conn.close();
} catch (SQLException se) {
System.out.println(se);
} catch (Exception e) {
System.out.println(e);
}
}
/**
* <br>
* 方法说明:主方法 <br>
* 输入参数:String[] args 命令行参数(包括:数据库连接URL, <br>
* 用户名,密码) <br>
* 返回类型:void
*/
public static void main(String[] arg) {
javaTest oc = new javaTest();
oc.url = "jdbc:oracle:thin:@10.143.6.152:1521:fapdb";
oc.username = "fapdb";
oc.password = "fapdb";
oc.demo();
}
}