首页 > 其他 > 详细

PrepareStatement

时间:2017-02-19 12:31:50      阅读:173      评论:0      收藏:0      [点我收藏+]

使用步骤

1: 定义sql的时候参数值使用占位符 ? 替换

2: 获取PrepareStatement对象传入sql

3: 使用PrepareStatement的setXxx方法给占位符复制

参数:

* int类型: 就是占位符的编号 ,从1开始

* Xxx类型: 要赋的具体的值

4: 执行sql的时候不需要传递具体的sql


优点

1: 防止sql注入

2: 提高效率

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import com.heima.jdbc.utils.JdbcUtil;

/**

 * 预编译的执行sql的对象

 */

public class PreparedStatementDemo {

         public static void main(String[] args) throws Exception {

                   // 获取连接对象

                   Connection conn = JdbcUtil.getConnection() ;

                   // 定义sql

                   String sql = "select * from user where uid = ?" ;

                   // 获取PreparedStatement对象

                   PreparedStatement ps = conn.prepareStatement(sql) ;

                   // 给占位符设置值

                   // 第一个参数占位符所对应的角标(角标从1开始), 第二个参数表示具体的值 ;

                   ps.setInt(1, 1) ;

                   // 执行

                   ResultSet rs = ps.executeQuery() ;

                   while(rs.next()) {

                            int uid = rs.getInt(1) ;

                            String name = rs.getString(2) ;

                            String password = rs.getString(3) ;

                            System.out.println(uid + "---" + name + "---" + password);

                   }

                   //释放资源

                   JdbcUtil.close(conn, ps, rs) ;

         }

}

 

PrepareStatement

原文:http://www.cnblogs.com/loaderman/p/6415307.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!