JDBC操作数据库的几种方式。
来源:互联网 发布:医院网络割接方案 编辑:程序博客网 时间:2024/06/05 20:56
1最基本的操作读取
import java.sql.*;public class TestJDBC {public static void main(String[] args) throws Exception{ResultSet rs = null;Statement stmt = null;Connection conn = null;Class.forName("oracle.jdbc.driver.OracleDriver");conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");stmt = conn.createStatement();rs = stmt.executeQuery("select * from dept");while(rs.next()) {System.out.println(rs.getString("deptno"));System.out.println(rs.getInt("deptno"));}rs.close();stmt.close();conn.close();
}}
2PreparedStatement读取
import java.sql.*;public class TestPrepStmt {public static void main(String[] args) throws Exception{PreparedStatement pstmt = null;Connection conn = null;Class.forName("oracle.jdbc.driver.OracleDriver");conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");pstmt = conn.prepareStatement("insert into dept2 values (?, ?, ?)");pstmt.setInt(1, 33);pstmt.setString(2, "name");pstmt.setString(3, "loc");pstmt.executeUpdate();pstmt.close();conn.close(); }
}
3调用存储过程
import java.sql.*;public class TestProc {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();}}
4执行批处理
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();}}
5 执行事务:
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();}}}}
6可以滚动的结果集:
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();}}}
7可以更新的结果集:
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(); } }}
- JDBC操作数据库的几种方式。
- JDBC连接Access数据库的几种方式
- JDBC连接Access数据库的几种方式
- JDBC 数据库的几种查询方式(一)
- JDBC 数据库的几种查询方式(二)
- java使用JDBC连接数据库的几种方式
- java jdbc操作oracle数据库的两种方式
- Yii框架操作数据库的几种方式与mysql_escape_string
- Java的jdbc使用addBatch进行批处理操作的几种方式
- Java的jdbc使用addBatch进行批处理操作的几种方式
- 几种常用数据库的JDBC URL
- 数据库的几种操作
- JDBC几种连接方式
- JDBC数据库的操作
- JDBC的批处理操作三种方式
- JDBC的批处理操作三种方式
- JDBC的批处理操作三种方式
- JDBC的批处理操作三种方式
- 【LINUX】:简单实现Windows和Linux文件共享
- javascript学习笔记(一)
- 无题
- linux 解压大全
- 写个心得
- JDBC操作数据库的几种方式。
- 为什么银行查不到你的身份信息?
- IBM发布其分布式存储–XIV
- iOS平台上最给力的免费摄影应用
- Node.js 安装及npm的安装
- android CountDownTimer 倒数计时器
- CxImage下载
- Java nio 实现socket异步通信 (对Java nio 实习笔记五中内容做一纠正)
- VBScript 访问SQL数据库