使用JDBC数据库连接工具类

 更新时间:2024年04月01日 16:49:24   作者:快乐敲代码  
这篇文章主要介绍了使用JDBC数据库连接工具类方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

JDBC数据库连接工具类

下列是连接sqlserver数据库的

如果是mysql的话把连接驱动和连接路径需要换成:

// 连接驱动
private static final String DRIVER="com.mysql.jdbc.Driver";
 // 连接路径
private static final String URL ="jdbc:mysql://localhost:3306/XXX";
import java.sql.*;

/**
 * 数据库连接工具类
 */
public class DataBaseConnectionUtil {
    // 连接驱动
    private static final String DRIVER= "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    // 连接路径
    private static final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=XXX";
    // 用户名
    private static final String USERNAME = "sa";
    // 密码
    private static final String PASSWORD = "123456";

    //静态代码块
    static {
        try {
            // 加载驱动
            Class.forName(DRIVERCLASSNAME);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    /*
     * 获取数据库连接
     */
    public static Connection getConnection() {
        Connection conn = null;
        try{
            conn= DriverManager.getConnection(URL, USERNAME, PASSWORD);
        }catch(SQLException e){
            e.printStackTrace();

        }
        return conn;
    }

    /*
     * 关闭数据库连接,释放资源
     */
    public static void close(ResultSet rs, PreparedStatement ps, Connection conn) {
        if(rs!=null){
            try{
                rs.close();
                rs=null;
            }catch(SQLException e){
                e.printStackTrace();
            }
        }
        if(ps!=null){
            try{
                ps.close();
                ps=null;
            }catch(SQLException e){
                e.printStackTrace();
            }
        }
        if(conn!=null){
            try{
                conn.close();
                conn=null;
            }catch(SQLException e){
                e.printStackTrace();
            }
        }
    }
    /*
     * 关闭数据库连接,释放资源
     */
    public static void close2( PreparedStatement ps, Connection conn) {
        if(ps!=null){
            try{
                ps.close();
                ps=null;
            }catch(SQLException e){
                e.printStackTrace();
            }
        }
        if(conn!=null){
            try{
                conn.close();
                conn=null;
            }catch(SQLException e){
                e.printStackTrace();
            }
        }
    }
}

在类中具体使用

public void AAA() {
    try {
        //连接数据库
        conn = DataBaseConnectionUtil.getConnection();
        String sql = "sql语句(一般这里留置占位符? 如insert into Test (A,B,C,D) values(?,?,?,?))";
        ps = conn.prepareStatement(sql);
        ps.setString(1, A);
        ps.setString(2, B);
        ps.setString(3, C);
        ps.setInt(4, D);
        // 执行sql语句
        ps.executeUpdate();
    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        // 关闭数据库连接对象
        DataBaseConnectionUtil.close2(ps, conn);
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL查询优化:LIMIT 1避免全表扫描提高查询效率

    MySQL查询优化:LIMIT 1避免全表扫描提高查询效率

    在某些情况下,如果明知道查询结果只有一个,SQL语句中使用LIMIT 1会提高查询效率,感兴趣的朋友可以了解下哈,希望对你优化mysql查询有所帮助
    2013-04-04
  • mysql5.7的安装及Navicate长久免费使用的实现过程

    mysql5.7的安装及Navicate长久免费使用的实现过程

    这篇文章主要介绍了mysql5.7的安装及Navicate长久免费使用的实现过程,本文给大家分享问题及解决方法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • MySQL 创建多对多和一对一关系方法

    MySQL 创建多对多和一对一关系方法

    这篇文章主要介绍了MySQL 创建多对多和一对一关系方法,文章举例详细说明具有一定的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • MySql 字符集不同导致 left join 慢查询的问题解决

    MySql 字符集不同导致 left join 慢查询的问题解决

    当两个表的字符集不一样,在使用字符型字段进行表连接查询时,就需要特别注意下查询耗时是否符合预期,本文主要介绍了MySql 字符集不同导致 left join 慢查询的问题解决,感兴趣的可以了解一下
    2024-05-05
  • Mysql5.7并发插入死锁问题解决

    Mysql5.7并发插入死锁问题解决

    死锁是数据库并发控制中的一种现象,它涉及多个事务在执行过程中相互等待对方占有的资源,导致无法继续执行,本文就来介绍一下Mysql5.7并发插入死锁问题解决,感兴趣的可以了解一下
    2024-09-09
  • mysql-8.0.11-winx64.zip安装教程详解

    mysql-8.0.11-winx64.zip安装教程详解

    这篇文章主要介绍了mysql-8.0.11-winx64.zip安装教程详解及注意事项,非常不错,具有参考借鉴价值,需要的朋友参考下
    2018-05-05
  • mysql字符切割的四种方式汇总

    mysql字符切割的四种方式汇总

    这篇文章主要介绍了mysql字符切割的四种方式汇总,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Mysql中key和index的区别点整理

    Mysql中key和index的区别点整理

    在本篇文章里小编给大家整理的是关于Mysql中key和index的区别点整理,需要的朋友们可以学习下。
    2020-03-03
  • MySQL触发器基本用法详解【创建、查看、删除等】

    MySQL触发器基本用法详解【创建、查看、删除等】

    这篇文章主要介绍了MySQL触发器基本用法,结合实例形式分析了mysql触发器的基本创建、查看、删除等相关使用方法与注意事项,需要的朋友可以参考下
    2020-05-05
  • mysql日常锁表之flush_tables详解

    mysql日常锁表之flush_tables详解

    Flushtables和Flushtableswithreadlock是MySQL中的两个命令,用于关闭表对象和清空查询缓存,它们会等待所有正在运行的SQL请求执行结束,如果请求操作的表集合为{tables},则会阻塞其他会话对{tables}表上的所有操作,包括查询和写操作
    2024-11-11

最新评论