jdbc连接数据库步骤:(以oracle为例)
1) 加载驱动程序
Class.forName(“oracle.jdbc.driver.OracleDriver”)
2) 建立连接(通过驱动管理器)
Connection conn = DriverManager
.getConnetion(“jdbc:oracle:thin:@10.66.169.103:1521:orasmc”, “websms”, “websms”)
3) 创建PreparedStatement对象
PreparedStatement ps = conn.prepareStatement(sql) ;
4) 执行查询使用executeQuery方法
ResultSet rs = ps.executeQuery() ;
5) 关闭连接
rs.close() ;
ps.close() ;
connection.close() ;
SQL注入:用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些数据
防止SQL注入:
1) 用PreparedStatement代替Statement进行sql拼接
2) 用正则表达式对参数过滤
3) 用字符串对参数过滤
4) 屏蔽不安全字符
Statement 和 PreparedStatement区别:
1) 使用PreparedStatement代替Statement,可以提高代码的可读性和可维护性。
2) Statement用于执行静态sql语句;而PreparedStatement是预编译的sql语句对象,sql语句被预编译并保存在对象中,预编译的sql语句有可能会重复调用,可以提高性能。
3) 可以防止sql注入。