jdbc-通过配置文件properties获取数据库链接Connection


一、JDBC概述:JDBC简称:Java DateBase Connectivity(Java语言连接数据库)

  • JDBCC本质是SUN公司制定的一套接口(interface)在Java.sql.*包下
  • 使用文本编辑器开发,我们需要将jar包配置到环境变量class_path;JDBC开发前准备工作,先从官网下载对应的驱动jar包。然后将其匹配值到环境变量classPath当中。classpath=.;+jar文本路径(英文状态下:点+分号+mysql中jar包文件的路径)“.” 点代表当前路径+jar包的路径地址

二、面向接口编程:

  • 面向接口编程:接口都有调用者和实现者 面向接口调用、面向接口写实现类、都属与接口编程
  • 为啥面向接口编程: 解耦合:降低程序的耦合度,提高程序的扩展力,多态机制就是非常典型的:面向抽象编程
  • 为啥sun公司制定一套JDBC接口:因为每一个数据库底层的实现原理都不一样,  每一个数据库产品都有自己的独特的实现原理:
         Oracle 数据库有自己的原理
         Mysql数据库也有自己的原理
         MS、DB2、SqlServer(微软) 数据库也有自己的原理
  • 驱动:所有的数据驱动都是以jar 包的形式存在,jar包当中有很多的:.class字节码文件;这些class文件就是对JDBC接口的实现类

三、JDBC编程六步

  • 第一步:注册驱动—————————->作用:告诉Java程序,即将要连接的是哪个品牌的数据库
  • 第二步:获取连接—————————->表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完之后一定要关闭通道。
  • 第三步:获取数据库操作对象————–>专门执行sql语句的对象
  • 第四步:执行SQL语句
  • 第五步:处理查询结果集——————–>只有第四步执行的是select语句的时候,才有这第五步处理查询结果集。
  • 第六步:释放资源—————————->使用完资源之后一定要关闭资源。Java和数据库属于进程间的通信,开启之后一定要关闭。

四、JDBC通过配置文件Properties;获取数据库链接:工具类

jdbc_url=jdbc:mysql://localhost:3306
jdbc_driver=com.mysql.jdbc.Driver
jdbc_user=root
jdbc_password=root
package com.xzit.platfrom.util;

import java.sql.*;

/**
 * JDBC工具类简化JDBC编程
 * */
public class DataSourceManager {
    /*私有化工具类方法*/
    private DataSourceManager (){}

    /**
     * 获取数据库连接对象
     * @return 数据库链接对象
     * @throws SQLException
     * */
    public static Connection getConnection ()  {
        Connection conn = null;
        try {
            Class.forName(Env.driver);
            conn = DriverManager.getConnection(Env.url,Env.user,Env.password);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }

    /**
     * 关闭资源
     * @param conn
     */
    public static  void close(Connection conn){
        try {
            if(conn !=null){
                conn.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 关闭资源
     * @param state
     */
    public static void close( Statement state ){
        try {
            if(state !=null ){
                state.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 关闭结果集
     * @param set
     */
    public static void close( ResultSet set ){
        try {
            if(set  !=null ){
                set .close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
package com.xzit.platfrom.util;

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

public class Env extends Properties {
    //获取jdbc驱动
    public static String driver;
    //获取jdbc解析地址
    public static String url;
    //获取用户名
    public static String user;
    //获取密码
    public static String password;

    static {
        InputStream resourceAsStream = Env.class.
                getResourceAsStream("dbconf.properties");
        try {

            //获取配置文件
            Properties properties = new Properties();
            properties.load(resourceAsStream);
            url = properties.getProperty("jdbc_url");
            driver = properties.getProperty("jdbc_driver");
            user = properties.getProperty("jdbc_user");
            password = properties.getProperty("jdbc_password");
            System.out.println("数据库驱动:"+driver);
            System.out.println("数据库url:"+url);
            System.out.println("数据库用户名:"+user);
            System.out.println("数据库密码:"+password);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

 

原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/244808.html

(0)
上一篇 2022年4月17日
下一篇 2022年4月17日

相关推荐

发表回复

登录后才能评论