曾几何时,在java中写一个老长的查询 语句--sql=select * from where ........................",哇塞,简直是折磨,用PreparedStatement 吧,虽然对于N个参数查询时确实是高效的,但是还是要写N长的代码,后来看sql时,发现有个存储过程可以省略很长的代码,还有带参的存储过程可以使用,大大简化了查询的语句,对于软件中固定查询模式的sql来说,实为上策,小试如下:
在sql中写入如下存储过程:
create procedure cs
@xh int, @bh int
as
Select zxh,zbh from zc where zxh=@xh or zbh=@bh
GO
java中如下调用:
public ResultSetFrame() {
setTitle("表格模型绑定数据库");
setSize(400, 300);
dbsql db = new dbsql();
db.connect();
String sql = "exec cs 001,6";
ResultSet rs = db.query(sql);
model = new ResultSetTableModel(rs);
getContentPane().add(getScrollPane_1(), BorderLayout.CENTER);
}
测试果然不错,.
归结一下:在查询语句的模式为固定时,或参数很多时(where的条件参数),使用存储过程可以大大的提高效率.使用带参的存储过程,如同使用函数一样方便.