eg1:
1 public static void main(String[] args) throws ClassNotFoundException, SQLException { 2 //第一步:加载JDBC驱动类 3 Class.forName("oracle.jdbc.driver.OracleDriver"); 4 //第二部:通过驱动管理器获得与数据库的连接对象(该对象为与数据库相通的管道) 5 Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","x1","x1"); 6 //第三步:通过Connection对象获取封装了sql的PreparedStatement对象(封装了已经预编译的sql语句,效率高) 7 PreparedStatement pst = con.prepareStatement("insert into classtable values(?,?,'提升必备')");//?:占位符 8 for(int i=0;i<10;i++){ 9 pst.setString(1, "0"+i); 10 pst.setString(2, "课程"+i); 11 //第四步:执行sql语句 12 int cnt = pst.executeUpdate();//插入||修改||删除返回操作记录数,即受影响的行数 13 System.out.println(cnt); 14 } 15 pst.close();//关闭连接管道,由内而外 16 con.close(); 17 }
eg2:
1 public static void main(String[] args) throws ClassNotFoundException, SQLException { 2 //第一步:加载JDBC驱动类 3 Class.forName("oracle.jdbc.driver.OracleDriver"); 4 //第二部:通过驱动管理器获得与数据库的连接对象(该对象为与数据库相通的管道) 5 Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","x1","x1"); 6 //第三步:通过Connection对象获取封装了sql的PreparedStatement对象(封装了已经预编译的sql语句,效率高) 7 PreparedStatement pst = con.prepareStatement("select * from classtable where c_name like ?"); 8 9 pst.setString(1, "%课程%"); 10 //第四步:执行sql语句 11 ResultSet rs = pst.executeQuery();//查询返回ResultSet对象(即结果集对象,该结果集存放于数据库内存中) 12 //刚刚获取的结果集,其游标指向第一行之前 13 //rs.next();//将游标向前推进一行,如果推进成功,返回true,否则返回false 14 while(rs.next()){ 15 //获取游标指向的当前行数据 16 String id = rs.getString("c_id"); 17 String name = rs.getString("c_name"); 18 String explain = rs.getString("c_explain"); 19 System.out.println(" | "+id+" | "+name+" | "+explain+" | "); 20 } 21 rs.close(); 22 con.close(); 23 }