PerparedStatement 有一个方法
setXXX();这个方法是什么意思,具体什么功能。我需要详解,请帮帮忙吧
setXXX();这个方法是什么意思,具体什么功能。我需要详解,请帮帮忙吧
解决方案 »
- 编写一个小算法
- 100分,求取java操纵xml文件的读写,并根据xml生成树型菜单的代码示例,在线等!!
- synchronized相关
- java实现RSA对文件加解密后文件大小只有0字节~~!是哪里错了?盼解决~~~
- 怎么样打包发布java 应用程序
- java技术好吗?
- 如何儲存jTextPane中的文字入database
- Tomcat中JSP,WebService都封装了对Bean的调用,web.xml配置怎么读?
- 弱弱的问题:服务端通过socket传给客户端的十六进制数"EA",怎么到了客户端编成了65533的十进制数了?应该是234的啊??
- getLocalHost() 方法疑问!!
- 面试题。打印矩阵····
- 多态,向上转型,接口回调~
PerparedStatement r = conn.preparedStatement(sql);
r.setString(1,"aaa");
如果说我们使用一般的SQL拼装的时候,我们要注意 是字符串的时候要加上'',使用PerparedStatement 的这个功能之后,它会自己的帮我们处理.
PerparedStatement还有一个大的效率问题就是能够 把SQL语句缓存起来,下次再调用这样的SQL语句时候,数据库不需要再去编译了,直接运行就OK了.
个人见解.
PreparedStatement ps=con.prepareStatement(“select * from table1 where id=? And name=?”);
ps.setInt(1,nID);
ps.setString(2,strName);
ps.executequery();
比如说setString(1,"aaa");
这里的意思就是说,让SQL里的第一个问号的值为"aaa"字符串(String).
可能还会有
setInt(2,10);
让SQL里的第二个问号的值为int的10;
PerparedStatement是statement的一个子类,
statement的excute方法一般执行的是没有进行变量绑定的sql如:
insert into tableName(col1,col2,col3...)values(valu1,valu2,valu3...);
而PerparedStatement的excute方法执行的是需要变量绑定的sql语句如:
insert into tanleName()(col1,col2,col3...)values(?,?,?.......);
所谓变量绑定的定义自己查查,简单点解释就是语句运行之前给语句赋值(解释的不好)
所以在语句执行之前你要把值告诉sql语句啊
所以你要用PerparedStatament的setXXXX()方法来把值给sql语句
setXXX(pos,value); XXX表示参数类型 ,pos 表示参数位置
表示预编译的 SQL 语句的对象。 SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。 注:用于设置 IN 参数值的设置方法(setShort、setString 等等)必须指定与输入参数的已定义 SQL 类型兼容的类型。例如,如果 IN 参数具有 SQL 类型 INTEGER,那么应该使用 setInt 方法。 如果需要任意参数类型转换,使用 setObject 方法时应该将目标 SQL 类型作为其参数。 在以下设置参数的示例中,con 表示一个活动连接: PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)