一个PreparedStatement对象由一个带有问号?的SQL语句构建,对PreparedStatement对象参数赋值就相当于用值替换SQL语句中的?,最后形成一个完整的SQL。
我的疑问是,PreparedStatement可以通过setDate、setBlob、setTime等方法替换?的值,可是Date、Blob、Time都是一个对象啊,怎么与String的SQL拼接啊?不是setString就够了吗?不懂的说,不要拍我。
我的疑问是,PreparedStatement可以通过setDate、setBlob、setTime等方法替换?的值,可是Date、Blob、Time都是一个对象啊,怎么与String的SQL拼接啊?不是setString就够了吗?不懂的说,不要拍我。
使用preparestatement中的setDate 就是plsql里的绑定变量的方式一样,在setDate的时候,会做预处理数据类型转换,已经变量绑定。用setString的话,如果格式不对类型转换时可能出错。