查询
Class.forName(DRIVER);
Connection conn = DriverManager.getConnection(URI, USER,PASSWD);
Statement stmt = conn.createStatement();
String sql="select * from table";
stmt.executeQuery(sql);
更新
Class.forName(DRIVER);
Connection conn = DriverManager.getConnection(URI, USER,PASSWD);
Statement stmt = conn.createStatement();
String sql="insert into values(...)";
stmt.executeUpdate(sql);
Statement接口的不足之处体现在下面的代码里
Class.forName(DRIVER);
//new oracle.jdbc.driver.OracleDriver();
conn = DriverManager.getConnection(URI,USER,PASSWD);
stmt = conn.createStatement();
String sql = "insert into test values (" + id + ",'" + name + "')";
System.out.println(sql);
stmt.executeUpdate(sql);
这个程序,设置程序从用户输入获得sql语句的执行参数,可以看出,构建sql语句很麻烦
比Statement接口更好用的还有PreparedStatement
Class.forName(DRIVER);
conn = DriverManager.getConnection(URI, USER, PASSWD);
pstmt = conn.prepareStatement("insert into dept2 values (?, ?, ?)");
pstmt.setInt(1, id);
pstmt.setString(2, name);
pstmt.executeUpdate();
pstmt就有点面向对象的意思在里面了,Statement完全是用户构建sql语句,儿PreparedStatement提供了一系列set方法用于设置sql语句的参数