数据库连接工具JDBC及测试连接

本文详细介绍了使用Java进行数据库连接的方法,包括URL各部分的解释,如数据库类型、网址、端口号、数据库名称、字符集编码和时区设置。同时提供了具体的代码实现,展示了如何通过反射加载驱动,以及连接数据库和关闭资源的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在写数据库连接工具之前,先将url 各个部分含义提一下:
“jdbc:mysql://127.0.0.1:3306/db?userUnicode=”+ “true&characterEncoding=utf-8&serverTimezone=GMT%2B8”;这是一个url;
mysql:数据库类型
127.0.0.1:3306:网址及端口号
db?userUnicode=true:db是自己建立的数据库名,userUnicode 是是否使用字符集
characterEncoding=utf-8:使用的编码格式
serverTimezone=GMT%2B8:设置时区,8.0版本开始出现

以下是数据库连接工具,在具体的企业项目中,url 和 user 以及 password 单独存储在一个文件中,方便随时更改,这里就略写

package com.yc123.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBUtil{
//连接数据库所需参数
	private static String url = "jdbc:mysql://127.0.0.1:3306/db?userUnicode="
			+ "true&characterEncoding=utf-8&serverTimezone=GMT%2B8";
	private static String user = "root";
	private static String password = "123456";
	
	//驱动是否加载 运用反射原理
	static{
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 数据库连接方法
	 */
	public Connection conn(){
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(url, user, password);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		return conn;		
	}
	/**
	 * 数据库关闭方法
	 */
	public void closeDB(ResultSet rs,PreparedStatement ps,Connection conn){
		
			try {
				if(rs!=null){
					rs.close();
				}
				if(ps!=null){
					ps.close();
				}
				if(conn!=null){
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
	}
	//在主函数里测试连接
	public static void main(String[] args) {
		DBUtil db = new DBUtil();
		Connection conn = db.conn();
		System.out.println(conn);
	}
}

输出的连接结果为
Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
com.mysql.cj.jdbc.ConnectionImpl@67b64c45

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值