使用JDBC向数据库中插入一条数据(第一次修改版)

Posted Hello.World!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JDBC向数据库中插入一条数据(第一次修改版)相关的知识,希望对你有一定的参考价值。

增加了一个Tools类,放了一些常用的工具

package com.JDBC.java;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

/**
 * JDBC 的工具类
 */
public class JDBCTools {

    /**
     * 关闭Statement,Connection
     * 
     * @param statement
     * @param connection
     */
    public static void release(Statement statement, Connection connection) {
        if (statement != null) {
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (connection != null) {
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    /**
     * 获取数据库连接的方法
     * 
     * @return
     * @throws Exception
     */
    public static Connection getConnection() {
        // 准备连接数据库的四个字符串
        // 驱动的全类名
        String driverClass = null;
        String jdbcUrl = null;
        String user = null;
        String password = null;
        String jdbcName = null;
        // 读取jdbcName.properties文件
        InputStream inStream = JDBCTools.class.getClassLoader().getResourceAsStream("properties/jdbcName.properties");
        Properties propertiesOfName = new Properties();
        try {
            propertiesOfName.load(inStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
        jdbcName = propertiesOfName.getProperty("jdbcName");
        // 读取需要的properties 文件
        InputStream in = JDBCTools.class.getClassLoader().getResourceAsStream("properties/" + jdbcName + ".properties");
        Properties properties = new Properties();
        try {
            properties.load(in);
        } catch (IOException e) {
            e.printStackTrace();
        }
        driverClass = properties.getProperty("driver");
        jdbcUrl = properties.getProperty("jdbcUrl");
        user = properties.getProperty("user");
        password = properties.getProperty("password");
        // 加载数据库驱动程序(注册驱动)
        try {
            Class.forName(driverClass);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        Connection connection = null;
        try {
            connection = DriverManager.getConnection(jdbcUrl, user, password);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }
}

然后写了一个比较通用的update方法

/**
     * 通用的更新方法:包括INSERT/UPDATE/DELETE
     * @param sql
     */
    public void update(String sql){
        Connection connection = null;
        Statement statement = null;
        try {
            connection = JDBCTools.getConnection();
            statement = connection.createStatement();
            statement.executeUpdate(sql);
        }catch (Exception e) {
            e.printStackTrace();
        }finally{
            JDBCTools.release(statement, connection);
        }
    }

懒得写测试类,肯定好使,相信我~

以上是关于使用JDBC向数据库中插入一条数据(第一次修改版)的主要内容,如果未能解决你的问题,请参考以下文章

我通过jdbc向数据库插入几万条数据,要几十分钟,我是单条记录循环插入,请问有没有效率高一点的方法啊?

java中怎么一次性向表中插入一条或多条数据

我用jdbc向mysql插入一条语句用当前时间,可是查询的时候显示的时间不是当前,早了几个小时,怎么回事啊

JAVA中用啥方法向SQL server2005中插入一条数据并返回他的主键值

JDBC编程:使用 Statement 修改数据库

java向mysql插入数据乱码