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

https://blog.youkuaiyun.com/u014453898/article/details/79038187

 

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);// 关闭数据库  
        }  
    }  
}  

转载于:https://www.cnblogs.com/qcq0703/p/9146935.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值