一、Declaración
复制代码代码如下:
importar java.sql.*;
clase pública PruebaJDBC {
público estático vacío principal (String [] argumentos) {
Conexión oracle_conn = nulo;
Declaración oracle_stmt = nulo;
Conjunto de resultados oracle_rs = nulo;
Conexión mssql_conn = nulo;
Declaración mssql_stmt = nulo;
Conjunto de resultados mssql_rs = nulo;
intentar {
Class.forName("oracle.jdbc.driver.OracleDriver");
oracle_conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.215:1521:orcl", "nombre de usuario", "contraseña");
oracle_stmt = oracle_conn.createStatement();
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
mssql_conn = DriverManager.getConnection("jdbc:sqlserver://192.168.0.213:1433;DatabaseName=VIS", "nombre de usuario", "contraseña");
mssql_stmt = mssql_conn.createStatement();
mssql_rs = mssql_stmt.executeQuery("seleccione * de VideoBaseInfo");
mientras(mssql_rs.siguiente()) {
System.out.println("正在插入VideoId:" + mssql_rs.getInt("VideoId") + "的记录...");
oracle_stmt.executeUpdate("insertar en valores VIDEO_BASEINFO("
+ mssql_rs.getInt("VideoId") + ",'"
+ mssql_rs.getString("NombreVideo") + "','"
+ mssql_rs.getString("VideoVersion") + "',"
+ mssql_rs.getInt("VideoMp4Items") + ","
+ mssql_rs.getInt("VideoRmvbItems") + ",'"
+ mssql_rs.getString("VideoAliasName") + "','"
+ mssql_rs.getString("VideoAge") + "'"
+ ")");
}
} captura (ClassNotFoundException e) {
e.printStackTrace();
} captura (SQLException e) {
e.printStackTrace();
} finalmente {
intentar {
si (oracle_rs! = nulo) {
oracle_rs.close();
oracle_rs = nulo;
}
si (oracle_stmt! = nulo) {
oracle_stmt.close();
oracle_stmt = nulo;
}
si (oracle_conn! = nulo) {
oracle_conn.close();
oracle_conn = nulo;
}
si(mssql_rs!= nulo) {
mssql_rs.close();
mssql_rs = nulo;
}
si (mssql_stmt! = nulo) {
mssql_stmt.close();
mssql_stmt = nulo;
}
si (mssql_conn! = nulo) {
mssql_conn.close();
mssql_conn = nulo;
}
} captura (SQLException e) {
e.printStackTrace();
}
}
}
}
二、Declaración preparada
复制代码代码如下:
importar java.sql.*;
clase pública TestPreparedStatement {
público estático vacío principal (String [] argumentos) {
Conexión oracle_conn = nulo;
PreparedStatement oracle_stmt = nulo;
Conjunto de resultados oracle_rs = nulo;
Conexión mssql_conn = nulo;
Declaración mssql_stmt = nulo;
Conjunto de resultados mssql_rs = nulo;
intentar {
Class.forName("oracle.jdbc.driver.OracleDriver");
oracle_conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.215:1521:orcl", "nombre de usuario", "contraseña");
oracle_stmt = oracle_conn.prepareStatement("insertar en valores Video_ItemInfo(?, ?, ?, ?, ?, ?, ?, ?, ?)");
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
mssql_conn = DriverManager.getConnection("jdbc:sqlserver://192.168.0.213:1433;DatabaseName=VIS", "nombre de usuario", "contraseña");
mssql_stmt = mssql_conn.createStatement();
mssql_rs = mssql_stmt.executeQuery("seleccione * de VideoItemInfo");
mientras(mssql_rs.siguiente()) {
System.out.println("正在插入ItemIndex:" + mssql_rs.getInt("ItemIndex") + "的记录...");
oracle_stmt.setInt(1, mssql_rs.getInt("ItemIndex"));
oracle_stmt.setInt(2, mssql_rs.getInt("VideoId"));
oracle_stmt.setString(3, mssql_rs.getString("VideoItemName"));
oracle_stmt.setString(4, mssql_rs.getString("VideoExtName"));
oracle_stmt.setDouble(5, mssql_rs.getDouble("VideoSize"));
oracle_stmt.setString(6, mssql_rs.getString("VideoPath"));
oracle_stmt.setString(7, mssql_rs.getString("VideoType"));
oracle_stmt.setDate(8, mssql_rs.getDate("VideoDate"));
oracle_stmt.setString(9, mssql_rs.getString("ApplicationWay"));
oracle_stmt.executeUpdate();
}
System.out.println("插入数据到Video_ItemInfo表中操作已完成!");
} captura (ClassNotFoundException e) {
e.printStackTrace();
} captura (SQLException e) {
e.printStackTrace();
} finalmente {
intentar {
si (oracle_rs! = nulo) {
oracle_rs.close();
oracle_rs = nulo;
}
si (oracle_stmt! = nulo) {
oracle_stmt.close();
oracle_stmt = nulo;
}
si (oracle_conn! = nulo) {
oracle_conn.close();
oracle_conn = nulo;
}
si(mssql_rs!= nulo) {
mssql_rs.close();
mssql_rs = nulo;
}
si (mssql_stmt! = nulo) {
mssql_stmt.close();
mssql_stmt = nulo;
}
si (mssql_conn! = nulo) {
mssql_conn.close();
mssql_conn = nulo;
}
} captura (SQLException e) {
e.printStackTrace();
}
}
}
}
三、Declaración invocable
复制代码代码如下:
importar java.sql.*;
clase pública TestProc {
/**
* argumentos @param
*/
public static void main (String [] args) lanza una excepción {
Class.forName("oracle.jdbc.driver.OracleDriver");
Conexión de conexión = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");
CallableStatement cstmt = conn.prepareCall("{llamar p(?, ?, ?, ?)}");
cstmt.registerOutParameter(3, Tipos.INTEGER);
cstmt.registerOutParameter(4, Tipos.INTEGER);
cstmt.setInt(1, 3);
cstmt.setInt(2, 4);
cstmt.setInt(4, 5);
cstmt.execute();
System.out.println(cstmt.getInt(3));
System.out.println(cstmt.getInt(4));
cstmt.close();
conexión.close();
}
}
四、Lote
复制代码代码如下:
importar java.sql.*;
clase pública TestBatch {
public static void main (String [] args) lanza una excepción {
Class.forName("oracle.jdbc.driver.OracleDriver");
Conexión de conexión = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");
/*
Declaración stmt = conn.createStatement();
stmt.addBatch("insertar en valores de departamento2 (51, '500', 'jaja')");
stmt.addBatch("insertar en valores de departamento2 (52, '500', 'jaja')");
stmt.addBatch("insertar en valores de departamento2 (53, '500', 'jaja')");
stmt.executeBatch();
stmt.close();
*/
PreparedStatement ps = conn.prepareStatement ("insertar en valores de departamento2 (?,?,?)");
ps.setInt(1, 61);
ps.setString(2, "jaja");
ps.setString(3, "bj");
ps.addBatch();
ps.setInt(1, 62);
ps.setString(2, "jaja");
ps.setString(3, "bj");
ps.addBatch();
ps.setInt(1, 63);
ps.setString(2, "jaja");
ps.setString(3, "bj");
ps.addBatch();
ps.executeBatch();
ps.cerrar();
conexión.close();
}
}
五、Transacción
复制代码代码如下:
importar java.sql.*;
clase pública Transacción de prueba {
público estático vacío principal (String [] argumentos) {
Conexión de conexión = nula;
Declaración stmt = nulo;
intentar {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:SXT", "scott", "tigre");
conexión.setAutoCommit(falso);
stmt = conexión.createStatement();
stmt.addBatch("insertar en valores de departamento2 (51, '500', 'jaja')");
stmt.addBatch("insertar en valores de departamento2 (52, '500', 'jaja')");
stmt.addBatch("insertar en valores de departamento2 (53, '500', 'jaja')");
stmt.executeBatch();
conexión.commit();
conn.setAutoCommit(verdadero);
} captura (ClassNotFoundException e) {
e.printStackTrace();
} captura (SQLException e) {
e.printStackTrace();
intentar {
si (conexión! = nulo)
{
conexión.rollback();
conn.setAutoCommit(verdadero);
}
} captura (SQLException e1) {
e1.printStackTrace();
}
}finalmente {
intentar {
si (stmt! = nulo)
stmt.close();
si (conexión! = nulo)
conexión.close();
} captura (SQLException e) {
e.printStackTrace();
}
}
}
}
六、ScrollResultSet
复制代码代码如下:
importar java.sql.*;
clase pública TestScroll {
público estático vacío principal (String args []) {
intentar {
nuevo oracle.jdbc.driver.OracleDriver();
URL de cadena = "jdbc:oracle:thin:@192.168.0.1:1521:SXT";
Conexión de conexión = DriverManager
.getConnection(url, "scott", "tigre");
Declaración stmt = conn.createStatement(
Conjunto de resultados.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
Conjunto de resultados rs = stmt
.executeQuery("seleccione * del orden emp por sal");
rs.siguiente();
System.out.println(rs.getInt(1));
rs.último();
System.out.println(rs.getString(1));
System.out.println(rs.isLast());
System.out.println(rs.isAfterLast());
System.out.println(rs.getRow());
rs.anterior();
System.out.println(rs.getString(1));
rs.absoluto(6);
System.out.println(rs.getString(1));
rs.cerrar();
stmt.close();
conexión.close();
} captura (SQLException e) {
e.printStackTrace();
}
}
}
七、ActualizarConjuntoResultado
复制代码代码如下:
importar java.sql.*;
clase pública TestUpdataRs {
principal vacío estático público (String args []) {
intentar{
nuevo oracle.jdbc.driver.OracleDriver();
Cadena url="jdbc:oracle:thin:@192.168.0.1:1521:SXT";
Conexión conn=DriverManager.getConnection(url,"scott","tiger");
Declaración stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery("seleccione * de emp2");
rs.siguiente();
//更新一行数据
rs.updateString("ename","AAAA");
rs.updateRow();
//插入新行
rs.moveToInsertRow();
rs.updateInt(1, 9999);
rs.updateString("ename","AAAA");
rs.updateInt("director", 7839);
rs.updateDouble("sal", 99,99);
rs.insertRow();
//将光标移动到新建的行
rs.moveToCurrentRow();
//删除行
rs.absoluto(5);
rs.deleteRow();
//取消更新
//rs.cancelRowUpdates();
}catch(SQLException e){
e.printStackTrace();
}
}
}