公用的update

来源:互联网 发布:韩国身份证知乎 编辑:程序博客网 时间:2024/04/30 06:19

包结构:
这里写图片描述

=====================================jdbc.properties路径:/jdbc-1/src/jdbc.properties内容:#连接MySQLjdbc.user=rootjdbc.password=rootjdbc.driverClass=com.mysql.jdbc.Driverjdbc.jdbcUrl=jdbc:mysql://127.0.0.1:3306/jdbc1#连接Oracle#jdbc.user=scott#jdbc.password=tiger#jdbc.driverClass=oracle.jdbc.driver.OracleDriver#jdbc.jdbcUrl=jdbc:oracle:thin:@127.0.0.1:1521:ORCL001==========================================

工具类:获取连接、关闭资源

package com.atguigu.jdbc;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;/** * JDBC 操作的工具类 */public class JdbcUtils {    public static void close(ResultSet resultSet){        try {            if(resultSet != null){                resultSet.close();            }        } catch (Exception e) {            e.printStackTrace();        }    }    //关闭数据库资源    public static void close(Connection connection){        try {            if(connection != null){                connection.close();            }        } catch (SQLException e) {            e.printStackTrace();        }    }    public static void close(Statement statement){        try {            if(statement != null){                statement.close();            }        } catch (SQLException e) {            e.printStackTrace();        }    }    //根据配置文件获取数据库连接    public static Connection getConnection() throws ClassNotFoundException, SQLException, IOException{        Connection connection = null;        //0. 读取 Properties 文件        Properties properties = new Properties();        InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");        properties.load(in);        //1. 准备连接数据库的四个基本信息:         String driverClassName = properties.getProperty("jdbc.driverClass");        String url = properties.getProperty("jdbc.jdbcUrl");        String user = properties.getProperty("jdbc.user");        String password = properties.getProperty("jdbc.password");        //2. 加载驱动        Class.forName(driverClassName);        //3. 调用 DriverManager.getConnection(url, user, password) 获取连接        connection = DriverManager.getConnection(url, user, password);        return connection;    }

公用update代码实现:

//用于 insert、update、delete 的方法.    public void update(String sql, Object ... args){        Connection connection = null;        PreparedStatement preparedStatement = null;        try {            //1. 获取连接            connection = JdbcUtils.getConnection();            //2. 调用 Connection#prepareStatement(sql) 创建 PreparedStatement 对象            preparedStatement = connection.prepareStatement(sql);            //3. 调用 PreparedStatement 的 setXxx 方法来填充占位符            if(args != null && args.length > 0){                for(int i = 0; i < args.length; i++){                    preparedStatement.setObject(i + 1, args[i]);                }            }            //4. 执行 SQL. 调用 execute() 方法. 而不能再调用 Statement 的 execute(sql) 方法            preparedStatement.execute();        } catch (Exception e) {            e.printStackTrace();        } finally{            //5. 关闭数据库资源            JdbcUtils.close(preparedStatement);            JdbcUtils.close(connection);         }    }==========================================//测试@Test    public void testUpdate2() throws ClassNotFoundException{        String sql = null;//      sql = "INSERT INTO users(username, password) VALUES(? ,?)";//      update(sql, "abcd", "123456");//      sql = "UPDATE users SET username = ?, password = ? WHERE id = ?";//      update(sql, "bcde", "3457678", 6);        sql = "DELETE FROM users WHERE id = ?";        update(sql, 6);        //String className = "";        //把 className 对应的 class 文件加载到内存中. 得到 Class 对象        //1. 导致 className 对应的 class 的静态变量完成初始化        //2. 执行静态代码块的代码        //Class.forName(className);    }
原创粉丝点击