JDBC如何防止SQL注入

package com.jtxx.finddata;
  
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; 
import com.jtxx.util.ConnectionFactory;
  
public class FindDataDaoImpl implements FindDataDao {
     private Connection conn = null ;
     private PreparedStatement ps = null ;
     private ResultSet rs = null ;
     private Statement st = null ;
//  public ZhiYuan findData1(String name,String card) {
//      String sql = "select a002,a008,a046 from gzjbk z where z.a002='"+name+"' and z.a008='"+card+"'";
//      try {
//          conn = ConnectionFactory.getConnection();
//          st = conn.createStatement();
//          
//          rs = st.executeQuery(sql);
//          if (rs.next()) {
//              ZhiYuan info = new ZhiYuan();
//              info.setName(rs.getString(1));
//              info.setCard(rs.getString(2));
//              info.setAmount(rs.getBigDecimal(3));
//              return info;
//          }
//          
//      } catch (Exception e) {
//          e.printStackTrace();
//      } finally{
//          closeAll(conn,ps,rs);
//      }
//      return null;
//  }
     public ZhiYuan findData(String name,String card) {
         String sql = "select a002,a008,a046 from gzjbk z where z.a002=? and z.a008=?" ;
         try {
             conn = ConnectionFactory.getConnection();
             ps = conn.prepareStatement(sql);
             ps.setString( 1 , name);
             ps.setString( 2 , card);
             rs = ps.executeQuery();
             if (rs.next()) {
                 ZhiYuan info = new ZhiYuan();
                 info.setName(rs.getString( 1 ));
                 info.setCard(rs.getString( 2 ));
                 info.setAmount(rs.getBigDecimal( 3 ));
                 return info;
             }
              
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
             closeAll(conn,ps,rs);
         }
         return null ;
     }
     public static void closeAll(Connection conn,PreparedStatement ps,ResultSet rs){
         try {
             if (rs!= null )rs.close();
         } catch (SQLException e) {
             e.printStackTrace();
         }
         try {
             if (ps!= null )ps.close();
         } catch (SQLException e) {
             e.printStackTrace();
         }
         try {
             if (conn!= null )conn.close();
         } catch (SQLException e) {
             e.printStackTrace();
         }
     }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值