1.先是注册注册与加载连接数据库的驱动程序;
2.创建数据库连接;
3.对数据表进行操作。
代码如下:
OperateDB类
package webselenium.data;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
public class OperateDB{
String url = "jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 168.168.168.168)(PORT = 1524)))(CONNECT_DATA =(SERVICE_NAME = fatoas)))";
String userName = "si";
String userPW = "p1234";
String sql = null;
Connection conn = null;
Statement st = null;
ResultSet rs = null;
public Connection connectData(){
//注册与加载连接数据库的驱动程序
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//创建一个连接
try {
conn = DriverManager.getConnection(url, userName, userPW);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("数据库连接成功~!");
return conn;
}
//获取数据结果集
public void getDataResultSet(Connection conn,String sql){
//获取数据表的列名
ArrayList colName = new OperateDB().getTableColumnName(conn, sql);
try {
st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
} catch (SQLException e) {
e.printStackTrace();
}
try {
rs = st.executeQuery(sql);
while(rs.next()){
for(int i=0;i<colName.size();i++){
System.out.print(rs.getString((String)colName.get(i)) + " | ");
}
System.out.println();
}
rs.close();
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
//获取数据表的列名
public ArrayList getTableColumnName(Connection conn,String sql){
ArrayList<String> colName = new ArrayList<>();
try {
st = conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
try {
rs = st.executeQuery(sql);
ResultSetMetaData rsm = rs.getMetaData();
for(int i=1;i<rsm.getColumnCount();i++){
colName.add(rsm.getColumnLabel(i));
}
rs.close();
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
return colName;
}
//关闭数据库
public void closeConection(Connection conn){
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
Common类
package webselenium.common;
import java.sql.Connection;
import org.openqa.selenium.WebDriver;
import webselenium.data.*;
public class Common{
static Connection conn = null;
//连接数据库
public static void connectData(){
conn = new OperateDB().connectData();
}
//获取数据集
public static void getResultSet(String sql){
new OperateDB().getDataResultSet(conn,sql);
}
/* //获取数据表的列名
public static void getTableColumnName(String sql){
new OperateDB().getTableColumnName(conn, sql);
}*/
//关闭数据库
public static void closeConn(){
new OperateDB().closeConection(conn);
}
}
TestStart类
package webselenium.testStart;
import webselenium.common.*;
public class TestStart {
public static void main(String[] args) throws InterruptedException {
Common.connectData();//连接数据库
Common.getResultSet("select * from T_OAS_APPSHOW_CONFIG where 1=1");
Common.closeConn();//关闭数据库
}
}