• java JDBC (二) 防止注入/参数化


    package cn.sasa.demo2;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Scanner;
    
    public class JDBCDemo2 {
    
        public static void main(String[] args) throws ClassNotFoundException, SQLException {
            /**
             * 防止注入攻击 /参数化查询
             * Statement 接口 有个子接口 PreparedStatement --sql预编译
             * 
             */
            String name = "";
            String pwd = "";
            Scanner sc = new Scanner(System.in);
            System.out.println("用户名");
            name = sc.nextLine();
            System.out.println("密码");
            pwd = sc.nextLine();
            
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection("jdbc:mysql://192.168.0.207:3306/mydb", "root", "XXXXXXXX1");
            
            //String sql = " SELECT * FROM `user` WHERE name='"+ name +"' and pwd='"+ pwd +"' ";
            //Statement state = conn.createStatement();
            //ResultSet rsSet = state.executeQuery(sql);
            
            String sql = " SELECT * FROM `user` WHERE name=? and pwd=? ";
            PreparedStatement pstate = conn.prepareStatement(sql);
            pstate.setObject(1, name);
            pstate.setObject(2, pwd);
            ResultSet rsSet = pstate.executeQuery();
            
            while(rsSet.next()) {
                System.out.println(rsSet.getString("name"));
            }
            
            rsSet.close();
            //state.close();
            pstate.cancel();
            conn.close();
            
        }
    
    }
  • 相关阅读:
    Citrix Receiver running on my mobile phone
    is undfined javascript error
    系统架构设计随笔
    计算机与数理化“最高”期刊之比较zt
    Tikhonov regularization
    关于Likelihood 和 Probability的差别
    Cross Validation
    八卦 Knuth zt
    Eclipse切换IDE界面语言
    数学家对数学的论述
  • 原文地址:https://www.cnblogs.com/SasaL/p/10233412.html
Copyright © 2020-2023  润新知