zoukankan      html  css  js  c++  java
  • PrepareStatement


    使用步骤

    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.loaderman.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) ;
    
             }
    
    }
    
  • 相关阅读:
    ADO.NET调用存储过程
    存储过程
    web Servise(服务)
    ADO.NET连接池
    ADO.NET
    常用语法2
    常用语法
    修改pip源为国内网站
    模块
    random模块
  • 原文地址:https://www.cnblogs.com/loaderman/p/6415307.html
Copyright © 2011-2022 走看看