当前位置:首页 > Java技术 > Java实现关系型数据库工具类JdbcUtils系列一 :JDBC连接关系型数据库

Java实现关系型数据库工具类JdbcUtils系列一 :JDBC连接关系型数据库

2022年09月16日 21:08:04Java技术6

一、JDBC体系结构

JDBC接口(API)包括两个层次:

  • 面向应用的API:Java API,抽象接口,供应用程序开发人员使用(连接数据库,执行SQL语句,获得结果)。
  • 面向数据库的API:Java Driver API,供开发商开发数据库驱动程序用。

二、Java获取数据库连接方法1

import org.junit.Test;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.SQLException;
import java.util.Properties;

public class DriverTest {
     

    /**
     * 获取mysql连接
     */
    @Test
    public void test() throws ClassNotFoundException, IllegalAccessException, InstantiationException, SQLException {
     

        Driver driver = null;

        //1.获取驱动
        String driverClassName = "com.mysql.cj.jdbc.Driver";

        Class clazz = Class.forName(driverClassName);
        driver =(Driver) clazz.newInstance();

        //2.获取连接
        String url = "jdbc:mysql://10.10.128.100:3306/dw";
        Properties props = new Properties();
        props.setProperty("user","root");
        props.setProperty("password","nio123456!A");
        Connection conn = driver.connect(url,props);
        System.out.println(conn);
        conn.close();
    }
}

三、Java获取数据库连接方法2

public class DriverTest {
     

    @Test
    public void test2() throws ClassNotFoundException, IllegalAccessException, InstantiationException, SQLException {
     
        //1.注册驱动
        String driverClassName = "com.mysql.cj.jdbc.Driver";
        Class clazz = Class.forName(driverClassName);
        Driver driver = (Driver) clazz.newInstance();
        DriverManager.registerDriver(driver);

        //2.获取连接
        String url = "jdbc:mysql://10.10.128.100:3306/dw";
        String user = "root";
        String password = "nio123456!A";
        Connection conn = DriverManager.getConnection(url,user,password);
        System.out.println(conn);
        conn.close();
    }
}

输出如下所示:
Java实现关系型数据库工具类JdbcUtils系列一 :JDBC连接关系型数据库 _ JavaClub全栈架构师技术笔记

四、Java最常用获取数据库连接的方法

import org.junit.Test;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DriverTest {
     

    @Test
    public  void  test3() throws ClassNotFoundException, SQLException {
     
        String driverClassName = "com.mysql.cj.jdbc.Driver";
        String url = "jdbc:mysql://10.10.128.100:3306/dw";
        String user = "root";
        String password = "nio123456!A";

        //1.加载驱动
        Class.forName(driverClassName);

        //2.获取连接
        Connection conn = DriverManager.getConnection(url, user, password);

        System.out.println(conn);
    }
}

五、将数据库信息放到配置文件中

application.properties

driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://10.10.128.100:3306/dw?useUnicode=true&characterEncoding=utf-8
username: root
password: nio123456!A
import org.junit.Test;

import java.io.IOException;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DriverTest {
     

    @Test
    public void test4() throws IOException, ClassNotFoundException, SQLException {
     
        Properties props = new Properties();
        props.load(this.getClass().getClassLoader().getResourceAsStream("application.properties"));


        String driverClassName = props.getProperty("driverClassName");
        String url = props.getProperty("url");
        String user = props.getProperty("username");
        String password = props.getProperty("password");

        Class.forName(driverClassName);

        //2.获取连接
        Connection conn = DriverManager.getConnection(url, user, password);

        System.out.println(conn);

    }
}
  • Class是当前类的Class对象,Class.getClassLoader()是获取当前类的类加载器。
  • getResourceAsStream()是获取资源的输入流。类加载器默认是从classPath路径加载资源。
  • 当使用Class.getClassLoader.getResourceAsStream()加载资源时,是从classPath路径下进行加载,放在resources下的文件加载时不能加(“/”)。

六、获取连接工具类

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class jdbcUtils {
     

    /**
     * 获取连接
     * @return
     * @throws IOException
     * @throws ClassNotFoundException
     * @throws SQLException
     */
    public static Connection getConnection() throws IOException, ClassNotFoundException, SQLException {
     
        Properties props = new Properties();
        props.load(JdbcUtils.class.getClassLoader().getResourceAsStream("application" +
                ".properties"));

        String driverClassName = props.getProperty("driverClassName");
        String url = props.getProperty("url");
        String user = props.getProperty("username");
        String password = props.getProperty("password");

        Class.forName(driverClassName);

        //2.获取连接
        Connection conn = DriverManager.getConnection(url, user, password);

        return conn;
    }
}

作者:目标博客专家
来源链接:https://blog.csdn.net/zhengzaifeidelushang/article/details/121865808

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/42327.html

分享给朋友:

“Java实现关系型数据库工具类JdbcUtils系列一 :JDBC连接关系型数据库” 的相关文章

java中常用的日期工具类

java中常用的日期工具类

java中常用的日期工具类 日期相关的类: package net.yto.ofclacct.core.util; import java.text.ParseException; import java.text.SimpleDateF...

java学习~Arrays工具类

Arrays工具类Arrays类的概述及其常用的方法1、位于java.util包中2、概述:Arrays类是针对数组进行操作的工具类,提供了排序和查找等功能3、常用的方法: 1、public static String toString(int [] a)   作用:将任意类型的...

扩展:JAVA 常用框架和工具思维导图

扩展:JAVA 常用框架和工具思维导图

作者:He BianGu 来源链接:https://blog.csdn.net/u010975589/article/details/80885509...

158 01 Android 零基础入门  03 Java常用工具类01 Java异常 02 异常概述 01 什么是异常?

158 01 Android 零基础入门 03 Java常用工具类01 Java异常 02 异常概述 01 什么是异常?

158 01 Android 零基础入门 03 Java常用工具类01 Java异常 02 异常概述 01 什么是异常? **本文知识点:什么是异常? ** 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主...

Java集合工具类Collections详解

Java集合工具类Collections详解

Java集合工具类Collections详解 1、Collections介绍 Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。 2、...

java/web开发date日期-String字符串互转工具类

java/web开发date日期-String字符串互转工具类 web开发中最常用的一个工具类,date日期-String字符串转换工具类,直接放在java类文件里面,调用即可。 源码如下: import java.tex...

java的常用包

java的常用包如下: java的核心都在java的包以及其子包下,而java的扩展类都放在javax包以及其子包下。其实这些类就是我们常说以及常用的API。 java语言常用包如下:   1. java.lang 这个包下包含了ja...

Java常用并发工具类

Java常用并发工具类

1. 简介#   Java中常见的四种并发工具类: CountDownLatch(闭锁,我觉得叫门闩更好理解) CyclicBarrier Semaphore Exchanger 2. 主线程等待子线程之CountDownLa...

java常用英语单词大全(一)

文章目录 Java 基础阶段常用的基本关键字和常用单词 Java 面向对象阶段应该会的单词 Java SE 阶段的API常用单词列表 Oracle JDBC 阶段常用单词列表...

JAVA常用工具类

JAVA常用工具类

  平时敲代码的时候,会经常使用到一些常用的工具类,这里我将自己工作用到的做一个总结,以后随着工作深度的增加,会不断补充、完善。 思维导图: package cn.com.winson; import java.util.List; import java.ut...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。