JDBC:Java数据库连接使用和简化

本文详细介绍了JDBC的本质、原生操作流程及优化方法,包括DriverManager、Connection、Statement和PreparedStatement的使用。此外,还探讨了JDBC事务控制、连接池(c3p0和Druid)的概念及配置,以及JDBC Template简化数据库操作的优势。最后提到了单元测试工具JUnit的使用和其在测试中的便利性。
摘要由CSDN通过智能技术生成

JDBC:Java数据库连接

本质:

sun公司定义的一套通过java程序访问关系型数据库的规范(接口);这一套规范(接口),不是由我们开发人员自己去实现的,而是由各个数据库厂商来进行实现,作为开发人员只需要调用各大厂商实现好的相关类即可操作各个数据库。

原生操作流程:

​ 1)引入对应数据库的驱动jar包

– idea中使用方法是点击file–>Project Structure–>Libraries–>添加后–>Apply

​ 2)注册驱动 (mysql5.x之后该注册代码可以省略)

注意:需要通过try{}catch{}处理异常

Class.forName(com.mysql.jdbc.Driver);

注意:驱动全类名所在位置所提供的jar包的META-INF–>services -->java.sql.Driver里面存储

​ 3)定义sql语句

String sql="跟上你想跟的sql语句"

​ 4)使用数据库连接对象Connection

DriverManager.getConnection(url,user,password);

​ 5) 获取执行sql语句的对象:Statement

conn.createStatement();

​ 6) 执行sql,并返回结果;

resultSet = stmt.executeUpdate(sql);	//增删改
resultSet = stmt.excuteQuery(sql);	//查

​ 7) 处理结果

增删改返回的结果1为成功0为失败
//处理查询结果
while(resultSet.next()){
   //类似与迭代器
    //查询结果进行自己的操作
}

​ 8) 关闭资源(先打开的后关闭)

注意:需要处理,并且要判断是否为空

stmt.close();

conn.close();

优化操作流程

//jdbc.properties配置文件
    url=jdbc:mysql://localhost:3306/haha?characterEncoding=utf8
    user=root
    password=123456
    driver=com.mysql.jdbc.Driver
//JDBCUtil将重复的部分封装起来

package com.uek.bigdata.util;

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

public class JDBCUtil {
   
    /**
     * 加载配置文件的操作:
     * 在项目的开发过程中,为了避免程序存在硬编码,可以采用配置文件的方式将常用到的参数添加进行,
     * 然后在程序中通过加载配置文件,从而获取这些参数值;
     *
     * 配置文件:
     * 1)xxx.propertis
     *  key=value  ---> String类型
     *  注意:等号两边不要有空格;
     *
     *  2)xxx.xml
     *    严格配置文件格式, 约束,标签
     *
     * 注意:添加配置文件默认路径:src目录下(classpath目录)
     */
    private static String url;
    private static String driver;
    private static String user;
    private static String password;
    /**
     * 在类加载时,获取配置文件中的参数:
     */
    static {
   
        try {
   
            /**
             * 加载配置文件信息:
             */
            //1.构建properties对象:
            Properties prop = new Properties();
            //2. 获取配置文件路径,从而构建输入流,配置文件应放到源码目录也就是src下
            InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
            //3. 加载数据,封装到prop对象中:
            prop.load(is);
            //4.赋值:
            url = prop.getProperty("url");
            driver = prop.getProperty("driver");
            user = prop.getProperty("user");
            password = prop.getProperty("password");
            /**
             * 注册驱动:
             */
            Class.forName(driver);
        } catch (IOException | ClassNotFoundException e) {
   
            e.printStackTrace();
        }
    }

    /**
     * 获取连接:
     */
    public static Connection getConnection
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值