JDBC连接步骤

JDBC(JAVA Database Connectivity)是Java操作数据库的API,主要用于执行SQL语句。连接数据库包括6个步骤:1) 创建数据库链接,常通过单例模式的DataSource获取;2) 预编译SQL语句;3) 创建PreparedStatement对象;4) 执行查询操作并获取ResultSet;5) 处理查询结果集;6) 释放资源。项目中通常封装DBUtil类以简化连接和资源释放。

JDBC是基于java操作Mysql数据库的常用驱动包,同样编程语言和使用数据库的不同,所需要的驱动包也就不同,例如java语言操作Oracle数据库时需要的驱动包名字叫ojdbc。

JDBC的全称JAVA Database Connectivity,翻译过来就是java数据库连接。是一种用于执行SQL语句的java API(应用程序接口或者应用编程接口),是程序开发者通过编程软件直接访问数据库,直接面向已经抽象好的接口编程。

JDBC的连接:

第一步:建立数据库链接
本项目中采用一个单例模式创建一个数据源DataSource,通过getDatasource().getConnection()的方式获取了一个数据库的连接,使用这种方式的好处是我们可以设置getDatasource()方法为私有属性,封装了连接数据库参数,并且只需要创建一次,以后返回的都是这个对象。只是外部提供了一个获取数据库连接的接口。

private static DataSource getDatasource() {
        if (DS == null) {//懒汉模式的单例
            synchronized (DBUtil.class) {
                if (DS == null) {
                    DS = new MysqlDataSource();
                    ((MysqlDataSource) DS).setURL(URL);
                    ((MysqlDataSource) DS).setUser(USERNAME);
                    ((MysqlDataSource) DS).setPassword(PASSWORD);
                }
            }
        }
        return DS;
    }

    public static Connection getConnection() {
        try {
            return getDatasource().getConnection();
        } catch (SQLException e) {
            throw new RuntimeException("获取数据库连接失败", e);
        }
    }

第二步:需要执行的sql语句要进行预编译,也就是针对要对数据库完成的操作,写一条String类型的sql语句。

第三步:创建操作命令对象,这个对象包含了要查询的sql语言。

ps=c.prepareStatement(sql);

第四步:执行查询操作,拿到这个对象执行后返回的结果。

rs=ps.executeQuery();

第五步:对返回的查询结果集进行处理
第六步:释放资源,由于获取连接和释放资源在本项目中都应用了多次,所以写成了一个固定的DBUtil类提供了获取连接和释放资源的方法。

  public static void close(Connection c, Statement s){
        //更新操作调用的是两个参数的重载方法
        close(c,s,null);
    }
    public static void close(Connection c, Statement s, ResultSet r) {
        //查询操作调用的是三个参数的方法
        try {
            if (c != null) {
                c.close();
            }
            if (s != null) {
                s.close();
            }
            if (r != null) {
                r.close();
            }
        } catch (SQLException e) {
            throw new RuntimeException("释放数据库资源失败", e);
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值