JDBC 用PreparedStatement语句动态操作SQL语句

1.Statement 和 PreparedStatement:

Statement接口只能操作静态SQL语句(即SQL语句中操作的数据表,变量等等都是固定的,不能变化的)。而PreparedStatement接口则可以动态操作SQL语句(即SQL语句中的变量的值是可以变化的)。


2.问号“?”

问好的作用:在一个SQL语句中,把需要变化的部分用“?”代替。

如:String sql = “insert into mess(id,name)values(?,?)”;


3.PreparedStatement的用法:

(Connection conn ;)

1.PreparedStatement pstmt = conn.prepareStatement(SQL);  //创建一个PreparedStatement对象,注入SQL语句

2.pstmt.setInt() ,pstmt.setString()// 给SQL中的?赋值

3.pstmt.execute()//执行SQL语句

示例如下:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Test2 {
	public static void main(String[] args) {
		Insert(10, "tomy"); // 给数据库插入一个数据(数据为 (10,“tomy”))
	}

	static void Insert(int id, String name) {
		String sql = "insert into usertbl(id,name)values(?,?)";
		Connection conn = DBUtil.open(); // 连接数据库
		try {
			/* 以下4句为关键 */
			PreparedStatement pstmt = conn.prepareStatement(sql);// 装载SQL语句
			pstmt.setInt(1, id); // 给SQL中第一个问号赋变量id的值
			pstmt.setString(2, name); // 给SQL中第二个问号赋变量name的值
			pstmt.execute(); // 执行SQL语句

		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			DBUtil.close(conn);// 关闭数据库
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值