zoukankan      html  css  js  c++  java
  • JDBC 4—— 增删改操作

    获取数据库的连接

        public static Connection getConnection() throws IOException, ClassNotFoundException, SQLException {
            // 1、读取配置文件中的4个基本信息
            InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");
            Properties pros = new Properties();
            pros.load(is);
    
            String user = pros.getProperty("user");
            String password = pros.getProperty("password");
            String url = pros.getProperty("url");
            String driverClass = pros.getProperty("driverClass");
    
            // 2、加载驱动
            Class.forName(driverClass);
    
            // 3、获取连接
            Connection conn = DriverManager.getConnection(url, user, password);
            return conn;
        }

    关闭连接和Statement的操作

    public static void closeResource(Connection conn, PreparedStatement ps) {
            try {
                if (ps != null)
                    ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

     修改customers表的一条数据

    package com.JDBCStudy3.PreparedStatement.crud;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    
    import JDBC_util.JDBCutils;
    
    public class PreparedStatementUpdateTest {
    
        // 修改customers表的一条数据
        public void testUpdate() {
            Connection conn = null;
            PreparedStatement ps = null;
            try {
                // 1、获取数据库的连接
                conn = JDBCutils.getConnection();
                
                // 2、预编译sql语句,返回PreparedStatement的实例
                String sql = "update customers set name = ? where id = ?";
                conn.createStatement();
                ps = conn.prepareStatement(sql);
    
                // 3、填充占位符
                ps.setObject(1, "莫扎特");
                ps.setObject(2, 18);
    
                // 4、执行
                ps.execute();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                // 5、资源的关闭
                JDBCutils.closeResource(conn, ps);
            }
        }
    }

    通用的增删改操作

        // 通用的增删改操作
        public void update(String sql, Object... args) {
            // sql中占位符的个数与可变形参的长度相同
            Connection conn = null;
            PreparedStatement ps = null;
            try {
                // 1、获取数据库的连接
                conn = JDBCutils.getConnection();
    
                // 2、预编译sql语句,返回PreparedStatement的实例
                ps = conn.prepareStatement(sql);
    
                // 3、填充占位符
                for (int i = 0; i < args.length; i++) {
                    ps.setObject(i + 1, args[i]);//小心参数声明错误
                }
    
                // 4、执行
                ps.execute();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                // 5、资源的关闭
                JDBCutils.closeResource(conn, ps);
            }
        }

     删改操作

        public void testCommonUpdate() {
            // 删除操作
            String sql = "delete from customers where id = ?";
            update(sql, 3);
    
            //修改操作
            sql = "update `order` set order_name = ? where order_id = ?";
            update(sql, "DD", "2");
        }
  • 相关阅读:
    [CSAPP笔记][第一章计算机系统漫游]
    [暂停学习几天]
    [汇编学习笔记][第十七章使用BIOS进行键盘输入和磁盘读写
    [汇编学习笔记][第十六章直接定址表]
    [汇编语言学习笔记][第十五章 外中断]
    [汇编学习笔记][第十四章 端口]
    [汇编学习笔记][第十三章int指令]
    [汇编学习笔记][第十二章内中断]
    [汇编学习笔记][第十一章标志寄存器]
    [汇编学习笔记][第十章 CALL和RET指令]
  • 原文地址:https://www.cnblogs.com/stu-jyj3621/p/14309694.html
Copyright © 2011-2022 走看看