一、Statement
七、UpdateResultSet
- import java.sql.*;
- public class TestJDBC {
- public static void main(String[] args) {
- Connection oracle_conn = null;
- Statement oracle_stmt = null;
- ResultSet oracle_rs = null;
- Connection mssql_conn = null;
- Statement mssql_stmt = null;
- ResultSet mssql_rs = null;
- try {
- Class.forName("oracle.jdbc.driver.OracleDriver");
- oracle_conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.215:1521:orcl", "username", "password");
- 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", "username", "password");
- mssql_stmt = mssql_conn.createStatement();
- mssql_rs = mssql_stmt.executeQuery("select * from VideoBaseInfo");
- while(mssql_rs.next()) {
- System.out.println("正在插入VideoId:" + mssql_rs.getInt("VideoId") + "的记录...");
- oracle_stmt.executeUpdate("insert into VIDEO_BASEINFO values("
- + mssql_rs.getInt("VideoId") + ",'"
- + mssql_rs.getString("VideoName") + "','"
- + mssql_rs.getString("VideoVersion") + "',"
- + mssql_rs.getInt("VideoMp4Items") + ","
- + mssql_rs.getInt("VideoRmvbItems") + ",'"
- + mssql_rs.getString("VideoAliasName") + "','"
- + mssql_rs.getString("VideoAge") + "'"
- + ")");
- }
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- try {
- if(oracle_rs != null) {
- oracle_rs.close();
- oracle_rs = null;
- }
- if(oracle_stmt != null) {
- oracle_stmt.close();
- oracle_stmt = null;
- }
- if(oracle_conn != null) {
- oracle_conn.close();
- oracle_conn = null;
- }
- if(mssql_rs != null) {
- mssql_rs.close();
- mssql_rs = null;
- }
- if(mssql_stmt != null) {
- mssql_stmt.close();
- mssql_stmt = null;
- }
- if(mssql_conn != null) {
- mssql_conn.close();
- mssql_conn = null;
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }
二、PreparedStatement
- import java.sql.*;
- public class TestPreparedStatement {
- public static void main(String[] args) {
- Connection oracle_conn = null;
- PreparedStatement oracle_stmt = null;
- ResultSet oracle_rs = null;
- Connection mssql_conn = null;
- Statement mssql_stmt = null;
- ResultSet mssql_rs = null;
- try {
- Class.forName("oracle.jdbc.driver.OracleDriver");
- oracle_conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.215:1521:orcl", "username", "password");
- oracle_stmt = oracle_conn.prepareStatement("insert into Video_ItemInfo values(?, ?, ?, ?, ?, ?, ?, ?, ?)");
- Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
- mssql_conn = DriverManager.getConnection("jdbc:sqlserver://192.168.0.213:1433;DatabaseName=VIS", "username", "password");
- mssql_stmt = mssql_conn.createStatement();
- mssql_rs = mssql_stmt.executeQuery("select * from VideoItemInfo");
- while(mssql_rs.next()) {
- 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表中操作已完成!");
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- try {
- if(oracle_rs != null) {
- oracle_rs.close();
- oracle_rs = null;
- }
- if(oracle_stmt != null) {
- oracle_stmt.close();
- oracle_stmt = null;
- }
- if(oracle_conn != null) {
- oracle_conn.close();
- oracle_conn = null;
- }
- if(mssql_rs != null) {
- mssql_rs.close();
- mssql_rs = null;
- }
- if(mssql_stmt != null) {
- mssql_stmt.close();
- mssql_stmt = null;
- }
- if(mssql_conn != null) {
- mssql_conn.close();
- mssql_conn = null;
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }
三、CallableStatement
- import java.sql.*;
- public class TestProc {
- /**
- * @param args
- */
- public static void main(String[] args) throws Exception {
- Class.forName("oracle.jdbc.driver.OracleDriver");
- Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");
- CallableStatement cstmt = conn.prepareCall("{call p(?, ?, ?, ?)}");
- cstmt.registerOutParameter(3, Types.INTEGER);
- cstmt.registerOutParameter(4, Types.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();
- conn.close();
- }
- }
四、Batch
- import java.sql.*;
- public class TestBatch {
- public static void main(String[] args) throws Exception {
- Class.forName("oracle.jdbc.driver.OracleDriver");
- Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");
- /*
- Statement stmt = conn.createStatement();
- stmt.addBatch("insert into dept2 values (51, '500', 'haha')");
- stmt.addBatch("insert into dept2 values (52, '500', 'haha')");
- stmt.addBatch("insert into dept2 values (53, '500', 'haha')");
- stmt.executeBatch();
- stmt.close();
- */
- PreparedStatement ps = conn.prepareStatement("insert into dept2 values (?, ?, ?)");
- ps.setInt(1, 61);
- ps.setString(2, "haha");
- ps.setString(3, "bj");
- ps.addBatch();
- ps.setInt(1, 62);
- ps.setString(2, "haha");
- ps.setString(3, "bj");
- ps.addBatch();
- ps.setInt(1, 63);
- ps.setString(2, "haha");
- ps.setString(3, "bj");
- ps.addBatch();
- ps.executeBatch();
- ps.close();
- conn.close();
- }
- }
五、Transaction
- import java.sql.*;
- public class TestTransaction {
- public static void main(String[] args) {
- Connection conn = null;
- Statement stmt = null;
- try {
- Class.forName("oracle.jdbc.driver.OracleDriver");
- conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:SXT", "scott", "tiger");
- conn.setAutoCommit(false);
- stmt = conn.createStatement();
- stmt.addBatch("insert into dept2 values (51, '500', 'haha')");
- stmt.addBatch("insert into dept2 values (52, '500', 'haha')");
- stmt.addBatch("insert into dept2 values (53, '500', 'haha')");
- stmt.executeBatch();
- conn.commit();
- conn.setAutoCommit(true);
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch(SQLException e) {
- e.printStackTrace();
- try {
- if(conn != null)
- {
- conn.rollback();
- conn.setAutoCommit(true);
- }
- } catch (SQLException e1) {
- e1.printStackTrace();
- }
- }finally {
- try {
- if(stmt != null)
- stmt.close();
- if(conn != null)
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }
六、ScrollResultSet
- import java.sql.*;
- public class TestScroll {
- public static void main(String args[]) {
- try {
- new oracle.jdbc.driver.OracleDriver();
- String url = "jdbc:oracle:thin:@192.168.0.1:1521:SXT";
- Connection conn = DriverManager
- .getConnection(url, "scott", "tiger");
- Statement stmt = conn.createStatement(
- ResultSet.TYPE_SCROLL_INSENSITIVE,
- ResultSet.CONCUR_READ_ONLY);
- ResultSet rs = stmt
- .executeQuery("select * from emp order by sal");
- rs.next();
- System.out.println(rs.getInt(1));
- rs.last();
- System.out.println(rs.getString(1));
- System.out.println(rs.isLast());
- System.out.println(rs.isAfterLast());
- System.out.println(rs.getRow());
- rs.previous();
- System.out.println(rs.getString(1));
- rs.absolute(6);
- System.out.println(rs.getString(1));
- rs.close();
- stmt.close();
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
七、UpdateResultSet
- import java.sql.*;
- public class TestUpdataRs {
- public static void main(String args[]){
- try{
- new oracle.jdbc.driver.OracleDriver();
- String url="jdbc:oracle:thin:@192.168.0.1:1521:SXT";
- Connection conn=DriverManager.getConnection(url,"scott","tiger");
- Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
- ResultSet rs=stmt.executeQuery("select * from emp2");
- rs.next();
- //更新一行数据
- rs.updateString("ename","AAAA");
- rs.updateRow();
- //插入新行
- rs.moveToInsertRow();
- rs.updateInt(1, 9999);
- rs.updateString("ename","AAAA");
- rs.updateInt("mgr", 7839);
- rs.updateDouble("sal", 99.99);
- rs.insertRow();
- //将光标移动到新建的行
- rs.moveToCurrentRow();
- //删除行
- rs.absolute(5);
- rs.deleteRow();
- //取消更新
- //rs.cancelRowUpdates();
- }catch(SQLException e){
- e.printStackTrace();
- }
- }
- }
本文通过具体示例介绍了 Java JDBC 的多种用法,包括 Statement、PreparedStatement、CallableStatement 的使用,以及批处理、事务处理、滚动结果集和可更新结果集的操作。
3782

被折叠的 条评论
为什么被折叠?



