String sql1="delete * from A where name=?";
String sql2="delete * from B where id=?";
怎么使用PrepareStatement 防注入的方法 并且 使用事务来处理?
connection=SQLHelper.getConnection();
connection.setAutoCommit(false);
preparedStatement=SQLHelper.getPrepareStatement(connection,sql1);
preparedStatement.setInt(1, name);
preparedStatement.executeUpdate();
preparedStatement=SQLHelper.getPrepareStatement(connection,sql2);
preparedStatement.setInt(1, id);
preparedStatement.executeUpdate();
connection.commit();
这样写是不是有问题?
另外 像这样的情况(多个不同类型的sql)能否用addBatch()来处理?
解决方案 »
- 初学struts2,求教高手一个弱弱的问题
- 一个程序改错。! 进来拿分啊
- 从键盘输入2个正整数,求其最大公约数和最小公倍数
- com.mchange.v2.c3p0.ComboPooledDataSource 数据库的user password 加密和解密是咋回事?
- tomcat不使用80端口,使用别的端口就必须加端口号才能访问吗?
- java 上传excel使用哪种插件好啊!
- 求SQL Server 7 Driver for JDBC
- Tomcat运行了,但JSP文件无显示,WHY?
- 急,有办法用java做个程序:输入“(3>4)or(3>5)",判断后输出其对应的bool值吗?
- 静态类
- 关于servlet输出图片的异常:java.lang.IllegalStateException: getWriter() has already been c
- 提供一个方法判断任意一个整数数组 是否为连续数字的数组?
START TRANSACTION for MySQL
BEGIN TRANSACTION for MS SQL Server
举个例子?不同类型的SQL
PreparedStatement不会遇到注入攻击,
lz所说的“拼接字符串”问题,具体是什么意思?
举个例子说明一下吧关于事务,你这样写是可以的应该,
不行的话要看看那个SQLHelper里面是怎么写的good luck
String sql1="delete * from A where name=?";
String sql1="delete * from A where name="+name; preparedStatement=SQLHelper.getPrepareStatement(connection,sql1);
SQLHelper里面就是 connection.getPrepareStatement(sql1)
String sql1="delete * from A where name="+name;
呢?good luck
用了PrepareStatement的话 肯定String sql1="delete * from A where name=?";但我不知道我那样用PrepareStatement执行事务 对不对