SQL绑定变量的使用

来源:互联网 发布:软件项目总结报告ppt 编辑:程序博客网 时间:2024/04/23 15:57

  近期工作中公司DBA总是反应有关SQL绑定变量的问题,因为有些项目的功能在访问量过大的情况下反应很慢,就需要对这些地方的程序进行优化,主要影响的地方就是

需要对这些程序进行SQL绑定变量,它可以很好地提升数据库的处理速度。

  绑定变量对数据库处理SQL的影响主要是,当数据库处理一个SQL的时候会对该SQL进行分析,然后放入执行计划,当数据库再次处理此执行计划不必再浪费时间去解析

SQL了。绑定变量的方法一般如下:

  1.使用普通jdbc的方式

    

String mobile="13520777577";String sql="select * from core_user where user_mobile =?";Connection conn = DriverManager.getConnection(dbUrl, user, key);PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setString(1, var);ResultSet rs = p.executeQuery();

这里使用sql时没有把SQL直接使用String sql="select * from core_user whereuser_mobile =’”+mobile+"’”形式来写,而是使用点位符,就是绑定变量的写法。

  2.使用jdbcTemplate的方式

String sql = "delete from mq_mtsendschedule where id=?";getJdbcTemplate().update(sql, new Object[]{id});

3.使用hibernate的方式

String mobile="13520777577";String queryString = "from CoreUser cu where cu.usermobile = :mobile"; Query q = session.createQuery(queryString).setString("mobile",mobile);

使用以上三种方式一般能解决绑定变量的问题,这里做简要介绍,以做备用。

0 0
原创粉丝点击