zoukankan      html  css  js  c++  java
  • JDBC 用PreparedStatement语句动态操作SQL语句

    https://blog.csdn.net/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);// 关闭数据库  
            }  
        }  
    }  
  • 相关阅读:
    spring boot中创建ElasticSearch索引
    spring boot项目16:ElasticSearch-基础使用
    spring cloud项目07:网关(Gateway)(2)
    spring cloud项目06:网关(Gateway)(1)
    Ubuntu上MySQL多实例部署
    MySQL常用命令、配置汇总
    spring boot项目15:安全-基础使用(2)
    spring boot项目14:安全-基础使用(1)
    docker-compose mongodb 副本
    关于golang slice切片的一个问题
  • 原文地址:https://www.cnblogs.com/qcq0703/p/9146935.html
Copyright © 2011-2022 走看看