Java SQL Server 查询 Statement和PreparedStatemen的区别

来源:互联网 发布:丰富的网络资讯吸引 编辑:程序博客网 时间:2024/06/02 02:09

1、增删改操作,返回的是一个int。那么查询我们肯定要对返回的结果感兴趣嘛~~~~

2、查询
//ResultSet结果集,ResultSet 理解成一个表行的结果,!!!(NOTE:这个rs指向表头,也不是第一行哦!!)
ResultSet rs = sm.executeQuery( " select * from 表 " );

//循环取出
//因为rs是指向结果集的第一行的前一行(理解成表头行,并不是实际需要的数据行)
while( rs.next())
{
int getId = rs.getInt(1);
}



我们看到 PreparedStatement在java程序里面先预编译,可以生成一点缓存,如果下次有语句是以前执行过的,那么就会从这些缓存的地方直接进行,而不需要第二次甚至每次都编译了!!

ps = ct.prepareStatement(" select * from 表 where mId =  ?  and mName = ? ");

注意上面就是一个ps查询语句,那么两个问号就是ps进行查询很好的一个限制条件
ps.setInt(1,"555");  //我们看到1代表第一个问号,第二个555表示?代表的条件
ps.setString(2,"bubu" ); //同理,2表示第二个问号处


=========== 总结=============
PreparedStatement可以提高执行效率,因为这个有很重要的预编译功能
而且可以防止sql注入,但要求用?号赋值的方式才可以,确保安全。