`
wsql
  • 浏览: 11798163 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

jdbc防止sql注入-PreparedStatement

 
阅读更多

jdbc防止sql注入

jdbc防止sql注入-PreparedStatement


public List getUserByName(String name,String password){
ResultSet rs = null;
PreparedStatement stat = null;
Connection conn = null;
List list = new ArrayList();
try {
conn = createConnection();

String sql = "select name,password from manager where name=? and password=? ";
stat = conn.prepareStatement(sql);
stat.setString(1, name);
stat.setString(2, password);
rs = stat.executeQuery();
while (rs.next()) {
System.out.println(rs.getString(1));
String []user = new String[2];
user[0] = rs.getString(1);
user[1] = rs.getString(2);
list.add(user);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
closeAll(rs, stat, conn);
}
return list;
}
分享到:
评论

相关推荐

    Java-JDBC【源码】JDBC概述、获取连接、SQL注入问题与解决、查询解析

    Java-JDBC【之】JDBC概述、获取连接、SQL注入问题与解决、查询解析 1.JDBC概述 2.操作流程 1.初始化项目,导入`驱动jar包` 2.加载驱动类 3.创建数据库连接对象`Connection` 4.创建`Statement` (此处存在SQL注入问题)...

    JDBC(powernode CD2206)详尽版 (教学视频、源代码、SQL文件)

    7.5 PreparedStatement如何解决SQL注入 7.6 使用PreparedStatement改进代码,解决SQL注入问题 八、编写JDBC工具类 九、CRUD操作 十、事务操作 十一、批处理 11.1 jdbc.properties 11.2 BatchDemo.java 11.3 没有进行...

    JDBC专题(三)-JDBC完成用户注册功能

    2.SQL注入问题 3.PreparedStatement类 3.1.PreparedStatement和Statement的对比(面试题) 3.2.PreparedStatement和Statement的关系 3.3.小结 4.使用PreparedStatement完成登录 6.PreparedStatement...

    利用JDBC工具类的方式实现mysql数据库的连接并且完成登录相关功能(防sql注入方式)

    利用JDBC工具类的方式实现mysql数据库的连接并且完成登录相关功能,并且通过PreparedStatement类实现防sql注入

    MySQL数据库

    1. 可以避免SQL注入 因为在编译的时候已经把SQL的逻辑固定,不会因为替换进去的内容改变逻辑 2. 如果SQL中涉及变量 相比Statement的字符串拼接的方式,代码可读性提高,并且不容易出错。 3. 如果涉及批量执行多条SQL...

    JDBC的常用方法

    1.防止SQL注入 我们在写sql语句时,为了方便可能会进行拼接字符串,这样做的弊端就是可能被sql注入攻击,解决的办法也很简单。 //获取数据库连接 Connection connection = DBUtils.getConnection(); //在写sql语句时...

    数据库增删改查的源代码

    //这里使用PreparedStatement,因为效率高、安全性高(可以防sql注入)。 public static PreparedStatement prepare(Connection conn, String sql) { PreparedStatement ps = null; try { //参照JDK API中的...

    jdbc基础和参考

    提供预编译的功能,某种程度上可以避免sql注入的问题 4.提前做语法检查,在给?赋值的过程中要求数据类型一定要匹配,这样在某种程度上可以避免因为数据类型不匹配而发生的异常 CallableStatement:主要用来执行...

    Java学习日志(三十三): JDBC预处理对象,连接池C3P0

    Java学习日志(三十三)JDBC预处理对象登陆注册案例模拟:用户注入攻击数据库解决用户注入式攻击PreparedStatement对象对数据库表进行增删改查连接池连接池的原理连接池的规范接口DataSource创建并测试C3P0连接池的...

    一篇搞定JDBC【Mysql基础】

    解决SQL注入的问题用户登录改进后6.对比Statement和PreparedStatement7.演示只能使用Statement对象不能使用PreparedStatement的业务需求用户输入sql语句8.JDBC事务控制三段重要代码应用于数据库用户之间的转账9.悲观...

    DBMySQLVISA:测试MySQL

    DBMySQLVISA测试MySQL // ... //异常处理:在DAO层中捕获的错误将传递到服务层,并对其进行记录// SQL注入:通过使用PreparedStatement防止SQL注入进行添加操作。 //服务层:主要功能:src / com / FetchResults.java

    springmybatis

    其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值的接口(比如IUserOperation.class),这样现在就可以至此那个更简单,更安全的代码,没有容易发生的字符串文字和转换的错误.下面是详细...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    7.4.4 预编译执行SQL语句的PreparedStatement接口 7.4.5 结果集ResultSet接1:2 7.5 JDBC操作数据库 7.5.1 向数据库中插入数据 7.5.2 从数据库中查询所需数据 75.3 修改数据库中的数据 7.5.4 删除无用的数据 7.5.5 ...

    Java面试宝典-经典

    23、JDBC中的PreparedStatement相比Statement的好处 110 24. 写一个用jdbc连接并访问oracle数据的程序代码 111 25、Class.forName的作用?为什么要用? 111 26、大数据量下的分页解决方法。 111 27、用 JDBC 查询学生...

    Java面试宝典2010版

    23、JDBC中的PreparedStatement相比Statement的好处 24. 写一个用jdbc连接并访问oracle数据的程序代码 25、Class.forName的作用?为什么要用? 26、大数据量下的分页解决方法。 27、用 JDBC 查询学生成绩单, 把主要...

    最新Java面试宝典pdf版

    23、JDBC中的PreparedStatement相比Statement的好处 110 24. 写一个用jdbc连接并访问oracle数据的程序代码 111 25、Class.forName的作用?为什么要用? 111 26、大数据量下的分页解决方法。 111 27、用 JDBC 查询学生...

    Java面试笔试资料大全

    23、JDBC中的PreparedStatement相比Statement的好处 110 24. 写一个用jdbc连接并访问oracle数据的程序代码 111 25、Class.forName的作用?为什么要用? 111 26、大数据量下的分页解决方法。 111 27、用 JDBC 查询学生...

    JAVA面试宝典2010

    23、JDBC中的PreparedStatement相比Statement的好处 110 24. 写一个用jdbc连接并访问oracle数据的程序代码 111 25、Class.forName的作用?为什么要用? 111 26、大数据量下的分页解决方法。 111 27、用 JDBC 查询学生...

    java面试题大全(2012版)

    23、JDBC中的PreparedStatement相比Statement的好处 110 24. 写一个用jdbc连接并访问oracle数据的程序代码 111 25、Class.forName的作用?为什么要用? 111 26、大数据量下的分页解决方法。 111 27、用 JDBC 查询学生...

Global site tag (gtag.js) - Google Analytics