Java基础总结–JDBC下(十)

继续接上篇Java基础总结–JDBC上(九)

PreparedStatement接口

1、PreparedStatement对象可以执行已经预编译过的sql语句,其sql执行效率比Statement对象的执行效率更高。

①.可以在执行过程中向该对象中的sql语句传递参数

②.对于sql中每个输入参数都保留一个问好“?”作为占位符

③.每个?占位符的值必须在该语句执行前被赋值

2、PreparedStatement类是通过继承Statement类实现的

PreparedStatement接口的使用

1、创建PreparedStatement对象

String sql=“update teacher set salary=? where id=?”;

PreparedStatement ps = con. prepareStatement(sql);

2、传递参数

①.在执行PreparedStatement 对象之前,为每个?赋值

②.调用PreparedStatement 对象的setXXX()方法来完成,其中xxx是和参数相应的类型。

③.传递参数的时候对应的序号是从1开始,且和sql中的?问好对应

ps.setFloat(1,  3800.00);

ps.setInt(2, 1004 );

3、执行对应的sql语句

在给sql语句中的?赋值后,可以使用executeUpdate( ), execute( ), executeQuery( )方法让其开始执行操作。

ps.executeUpdate ( );

4、在PreparedStatement 中设置的sql语句可以反复的使用,如果没有被其他的sql语句覆盖的话,传递另一个sql语句给同一个陈述对象,则新的sql语句覆盖已经存在的sql语句。

ps = con. prepareStatement(sql2);

如果想清除PreparedStatement 对象中的sql语句可以使用Connection中的clearParameters()方法执行。

con. clearParameters();

总结

1、使用PreparedStatement可加快执行效率,因sql语句已经事先编译好。

2、使用PreparedStatement能提高代码的安全性。

3、给PreparedStatement中的sql语句中?赋值要根据数据类型调用对应的setX(i,value)方法;赋值的时候下标i从1开始。

 

CRUD操作的封装

JDBC对数据库操作的优化:

1、任何操作都需要连接对象支持,可提供一个方法用来得到连接对象,避免反复的驱动注册等;

2、对于添加、修改操作,将需要的参数封装到一个对象中,简化方法调用中参数的传递

3、对于删除操作,提供根据主键删除

4、对于查询,返回的记录最好都封装成对象,一行记录对应一个对象,再将这些对象都逐个添加到集合中,以集合的方式返回查询的记录;

5、每个方法都要避免将异常传递给调用方

 

JDBC部分讲完了,如果你对小C的文章有什么意见和看法请在下面留言。

未完待续...

下篇传送阵:Java基础总结–Swing上(十一)

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

    A+
发布日期:2016年02月14日  所属分类:Java
标签:

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

目前评论:2   其中:访客  1   博主  1

  1. avatar osblog 2

    不错啊,整理的很详细

评论加载中...