String sql = "insert into test(name) values(?)";
String sql = "insert into test(name) values(:name)";?是PreparedStatement的占位符
这个:name是代表什么?
String sql = "insert into test(name) values(:name)";?是PreparedStatement的占位符
这个:name是代表什么?
query.prepare("insert into student (id, name) "
"values (:id, :name)");
query.bindValue(0, 5);
query.bindValue(1, "sixth");
:name跟?的效果应该是一样的,都表示在这里将会给一个变量值
比如你用?占位符,那么赋值的时候只能用0,1,2.
但是用了:name,:age,你就可以直接明确指出这个值要赋值给哪个,使程序看起来更清晰~
第一个是jdbc中绑定变量的方式
第二个jdbc中也可以这样写,效果和?一样,也是PL/SQL里绑定变量的方式,PL/SQL里绑定变量不能使用?