一.预编译,防sql注入 其中,设置参数值占位符索引从1开始:在由sql 连接对象创建 sql执行对象时候传入参数sql语句,在执行对象在执行方法时候就不用再传入sql语句: 数据库索引一般是从1开始,java对象一般是从0开始: java代码方法subString(2,5)是左闭右开区间,数据库subString(str, 5) 是从5开始截取到最后:…
1. SQL语句的执行过程——Statement直接执行的弊病: 1) SQL语句和编程语言一样,仅仅就会普通的文本字符串,首先数据库引擎无法识别这种文本字符串,而底层的CPU更不理解这些文本字符串(只懂二进制机器指令),因此SQL语句在执行之前肯定需要编译的: 2) SQL语句的执行过程:提交SQL语句 -> 数据库引擎对SQL语句进行编译得到数据库可执行的代码 -> 执行SQL代码: 3) 现在再来看Statement的执行机制: i. Statement的execute系列方法直接将SQ…
1.获得连接:Connection con = null; con = DBUtil.getConnection(); 2.写sql语句:String sql=""; 3.用连接加载预编译的sql语句:PrepareStatement ps = con.prepareStatement(sql); 4.用预编译执行sql返回result结果:Result  rs = ps.executeQuery(); 5.对获取的结果进行循环. 6.关闭连接.…
javascript 执行过程 1.语法检测(有没有基本的语法错误,例如中文,关键字错误...)2.词法分析(预编译) (1)创建全局GO(global object)对象 (2)对var声明的变量进行声明提升但不赋值,放入GO对象中 (3)对函数体整体进行提升,放入GO对象中 3.逐行执行 一.全局 直接是script标签中的代码,不包括函数执行 <script type="text/javascript"> console.log(a); var a = 100; co…
什么是SQL注入?? 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或页面请求url的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句. 实战举例 有个登陆框如下: 可以看到除了账号密码之外,还有一个公司名的输入框,根据输入框的形式不难推出SQL的写法如下: SELECT * F…
可重用的sql操作类 public ResultSet doQuery(String sql,Object[] params){ ResultSet rs = null; conn = this.getConnection(); try{ PreparedStatement pstmt = conn.prepareStatement(sql); for(int i =0;i<params.length;i++){ pstmt.setObject(i+1, params[i]); } rs = p…
模糊查询   插入 同时插入两行数据   执行更新语句 删除操作          …
相关学习资料 http://zh.wikipedia.org/wiki/Java数据库连接 http://lavasoft.blog.51cto.com/62575/20588 http://blog.csdn.net/cxwen78/article/details/6863696 http://www.ibm.com/developerworks/cn/java/jdbc-objects/index.html?ca=drs http://www.moon-soft.com/doc/37897.…
  转载请注明原文地址: http://www.cnblogs.com/ygj0930/p/5876951.html 在JDBC编程中,常用Statement.PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程. 1.Statement       该对象用于执行静态的 SQL 语句,并且返回执行结…
PreparedStatement的用法 jdbc(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力.在使用statement获取jdbc访问时所具有的一个共通的问题是输入适当格式的日期和时间戳:2002-02-05 20:56 或者 02/05/02 8:56 pm. 通过使用java.sql.preparedstatement,这个问题可以自动解决.一个prepareds…