* 演示preparedStatment的使用crud

本文详细介绍了preparedStatement的使用方法及其在提高SQL执行效率和防止SQL注入方面的作用。通过实例展示了如何在Java中使用preparedStatement进行CRUD操作,以及如何正确地使用问号作为参数赋值来避免SQL注入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<pre name="code" class="java">/*
 * 
 * 演示preparedStatment的使用crud
 * preparedstatement可以提高执行效率(因为它有预编译的功能)
 * preparedstatement可以防止sql注入,但是要求用?赋值的方式才可以
 */
package com.test;

import java.sql.*;

public class Test2 {


	public static void main(String[] args) {
		
		//定义需要的对像
		PreparedStatement ps=null;
		Connection ct=null;
		ResultSet rs=null;
		
		try{
			//加载驱动
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			//得到连接
			ct=DriverManager.getConnection("jdbc:odbc:mytest","sa","199303");
			
			//创建PerparedStatement
			
			ps=ct.prepareStatement("select *from dept where deptno=? and loc=?");
			
			//这样可以防止sql注入的风险
			ps.setInt(1, 20);
			ps.setString(2, "dallas");
			
			rs=ps.executeQuery();
			while(rs.next())
			{
			int 	deptno=rs.getInt(1);
				String dname=rs.getString(2);
				String loc=rs.getString(3);
				
				System.out.println(deptno+"   "+dname+"   "+loc);
				
			}
			
			
		}catch(Exception e)
		{
			e.printStackTrace();
			
		}
		finally
		{
			try {
				if(rs!=null)
				{
				rs.close();
				}
				if(ps!=null)
				{
				ps.close();
				}
				if(ct!=null)
				{
				ct.close();
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

			
		}
		
		
		
		
		
		
		
		
		
		
		
		
		
		

	}

}




                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值