public static void main(String[] args) throws Exception {
/*
* 加载class class.forname("com.mysql.cj.jdbc.Driver") 创建connection对象 connection
* con = drivermanager.getconnection(url,username,password); usr =
* "jdbc:mysql://localhost:3306/你的数据库名?serverTimezone=你设置的时区信息" 创建statement
* con.createStatement(); 这里的connection和statement对象都为java.sql包下注意不要导错
* 使用statement对象的executeQuery()执行查询语句 返回resultset对象其中包含查询结果
* 使用executeUpdate()执行增删改操作 返回值为int 为改变的列数 注意最后要关闭资源链接
*/
String className = "com.mysql.cj.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/mydb1?serverTimezone=GMT%2B8";
String username = "root";
String password = "xxx";
Class.forName(className);
Connection con = DriverManager.getConnection(url, username, password);
/*
* 防SQL注入方法
* 给出SQL模板
* 调用connection的preparestatement方法
* 然后给参数赋值
* preparestatement对象不用赋值参数 同之前 executequery方法来查询 executeupdate方法来进行更改
*/
String sql = "select * from emp where deptno=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, "20");//这里的20来赋给了之前的? 此处值可以有用户任意输入 1为指出赋给第一个?
ResultSet rs = ps.executeQuery();
while(rs.next()) {
int id = rs.getInt(1);
String name = rs.getString("ename");
System.out.println(id + " " + name);
}
}
JDBC防SQL注入
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 文传在两个月前已经有消息传出即将推出中文版的超画集。那时候还没人在意,在这次香港动漫展上,超画集随着会展开始售卖。...