使用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);
        }
    }

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

时间: 2025-01-02 17:22:06

使用JDBC向数据库中插入一条数据(第一次修改版)的相关文章

使用JDBC向数据库中插入一条数据

原谅我是初学者,这个方法写的很烂,以后不会改进,谢谢 /** * 通过JDBC向数据库中插入一条数据 1.Statement 用于执行SQL语句的对象 1.1 通过Connection 的 * createStatement() 方法来获取 1.2 通过executeUpdate(sql) 的方法来执行SQL 1.3 * 传入的SQL可以是INSERT/UPDATE/DELETE,但不能是SELECT * * 2.Connection和Statement使用后一定要记得关闭 需要在finally

向数据库中插入10000条数据

今天,在进行项目测试的时候,想要事先在数据库中插入10000条数据.之前在SQLServer的期末项目中也使用过,但是却也记不清了. DELIMITER $$ --定义结束符为"$$", DROP PROCEDURE IF EXISTS `proc_auto_insertdata`$$ CREATE PROCEDURE `proc_auto_insertdata`() BEGIN DECLARE pid INTEGER DEFAULT 1; WHILE pid <= 10000

使用JDBC获取数据库中的一条记录并封装为Bean

比如我数据库中存入的是一条一条的用户信息,现在想取出一个人的个人信息,并封装为Bean对象,可以使用queryForObject来获取数据并通过new BeanPropertyRowMapper(Bean.class)将数据转化为javaBean对象. 用法: queryForObject:查询并返回对象 new BeanPropertyRowMapper(Bean.class):是queryForObject的一个参数,将返回的对象封装为什么对象 public User findByid(in

数据库一次性插入10w条数据,怎么插入效率快

在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题 下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters). bulk方法主要思想是通过在客户端把数据都缓存在Table中,然后利用SqlBulkCopy一次性把Table中的数据插入到数据库 代码如下: public static void BulkToDB(DataTab

jdbc:mysql和oracle插入一条数据返回主键

package org.sin.common.dao; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import or

JDBC向数据库中插入数据

新建数据库,并插入相关数据. 1 create database bbs; 2 3 use bbs; 4 5 create table article 6 ( 7 id int primary key auto_increment, 8 pid int, 9 rootid int, 10 title varchar(255), 11 cont text, 12 pdate datetime, 13 isleaf int 14 ); 15 16 insert into article values

web每5秒向数据库中插入一条记录-学习笔记

SystemListener import java.util.Timer; import java.util.TimerTask; import java.util.UUID; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import cn.itcast.web.dao.SystemDao; public class SystemListener implement

每5秒向数据库中插入一条记录-学习笔记

import java.sql.SQLException; import java.util.Timer; import java.util.TimerTask; import java.util.UUID; import cn.itcast.web.dao.SystemDao; //课程练习1 public class Demo3 { public static void main(String[] args) { Timer timer = new Timer(); timer.schedu

TP随机从数据库中获取一条数据

orderRaw('rand()'): /** * 随机获取一条商品信息 * @param [type] $condition * @param [type] $field * @param [type] $limit * @return void */ public function randSkuid($condition, $field, $limit) { $result = $this->where($condition)->field($field)->orderRaw('r