MySql驱动(jar包)下载:https://pan.baidu.com/s/19BYnGbO3l5MOOic5K4Ooaw 密码:mwoh
Demo.java:
package cn.xxx.demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.util.Scanner; /* * 防止SQL注入攻击 * Statement接口实现类。 该类对象用于执行SQL语句,返回结果集 * 有一个子接口PreparedStatement (SQL语句可以预编译存储,多次高效的执行SQL;也可以防sql注入) * */ public class Demo { public static void main(String[] args)throws Exception { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/mybase"; String username = "root"; String password = "123"; Connection con = DriverManager.getConnection(url, username, password); Scanner sc = new Scanner(System.in); String user = sc.nextLine(); String pass = sc.nextLine(); String sql = "SELECT * FROM users WHERE username=? AND PASSWORD=?"; // ?表示占位符 PreparedStatement pst = con.prepareStatement(sql); // PreparedStatement可以防sql注入,也可以对sql语句预编译存储,多次高效的执行sql pst.setObject(1, user); //调用pst对象set方法,设置?占位符上的参数 pst.setObject(2, pass); ResultSet rs = pst.executeQuery(); // 执行查询SQL语句;sql语句已经预编译,不需要再传sql语句。 while(rs.next()){ System.out.println(rs.getString("username")+" "+rs.getString("password")); } rs.close(); pst.close(); con.close(); } }