回忆一下JABC连接数据库的方式。
Connection conn = null; //新建连接对象
try
{
Class.forName("oracle.jdbc.driver.OracleDriver/oracle.jdbc.OracleDriver"); //引入数据库驱动
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","name","password");// 建立一个数据库链接
//采用PreparedStatement 和 Statement 对象来执行数据。
//区别:Statement执行效率不如PreparedStatement快,PreparedStatement有预处理功能,执行效率更高,并且可以带参数,如下所示,现在JDBC中一般都采用PreparedStatement的执行SQL语句。
PreparedStatement ps = conn.preparedStatement("insert into users values(users_seq.nextval,?,?,?)");
ps.setString(1,"Tom");
......
//execute函数和executeUpdate同样都执行insert,delect,update(cml)语句,但是不同点是execute返回一个boolean,表示执行成功与否,而executeUpdate返回一个int,表示执行时影响到了多少条数据。
ps.execute();
ps.executeUpdate();
//而执行select查询时,采用executeQuery函数,返回一个ResultSet对象的结果集。
ResultSet rs = ps.executeQuery();
//通过遍历ResultSet结果集得到想要的结果。
while(rs.next())
{
User user = new User();//新建对应的bean,用的存放数据。
user.setId(rs.getInt("")); //可填入字段名,如果查询时为字段起了别名,则填入别名,数据类型和方法相对应。
user.setName(rs.getString(2));//也可根据字段的位置,写入数字,表示查询完结果中,第二列中的数据。
list.add(user);
}
}
catch(SQLException e)
{
e.printStackTrace();
......
}
catch(Exception e)
{
e.printStatckTrace();
......
}
finally
{
conn.close();//断开连接。
}