欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

荐 Java连接mysql数据库的详细教程

程序员文章站 2023-11-10 12:07:58
面向新手,一步一步教你如何通过java连接mySql数据库...

该教程是面向那些不知道如何通过java连接mysql数据库的新手,所以该教程用的方法不是最优的方法,但求是最好理解的方法。

需要的工具:

eclipse、mysql、mysql的驱动
mysql驱动链接:mysql-connector-java-5.1.7.zip
如果该链接下载不了的话,可以私信我

1.在eclipse中创建一个工程:jdbc

荐
                                                        Java连接mysql数据库的详细教程

2.在工程下创建lib文件夹

鼠标右键点击jdbc工程 ——> New ——>Folder、
文件夹命名为lib
荐
                                                        Java连接mysql数据库的详细教程

3.导入mysql驱动

解压上述连接的压缩包,找到:mysql-connector-java-5.1.7-bin.jar文件,复制到jdbc工程下的lib文件夹里
荐
                                                        Java连接mysql数据库的详细教程
然后鼠标右键点击该驱动——>Build Path——>Add to Build Path,最终显示如下图,表示你的驱动已经导入成功啦
荐
                                                        Java连接mysql数据库的详细教程

4.在src下创建一个包,包内创建一个class类

鼠标右键点击src → New → package,包名自己任意取
在该包下创建一个class类,名字为:ConnectionTest
荐
                                                        Java连接mysql数据库的详细教程

5.在ConnectionTest里的代码如下

注:该方法并非连接MySQL的最佳方法

package com.shaocoder.connection;

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

public class ConnectionTest {
	public static void main(String[] args) {
		Connection conn = null;
		try {
			//1.数据库连接的4个基本要素
			//①JDBC URL用于标识一个被注册的驱动程序,驱动程序管理器通过这个URL选择正确的驱动程序,从而建立到数据库的连接;
			//jdbc:表示URL中的协议
			//mysql:子协议,用于标识mysql数据库驱动程序
			//localhost:本机的IP地址
			//3306:端口号
			//test:表示访问test数据库
			String url = "jdbc:mysql://localhost:3306/test";
			//user:登录数据库的用户名
			String user = "root";
			//password:用户名对应的密码,这些都是自己之前设定的
			String password = "123456";
			//mySql的驱动:com.mysql.jdbc.Driver
			String driverName = "com.mysql.jdbc.Driver";
			
			//2.实例化Driver
			Class clazz = Class.forName(driverName);
			Driver driver = (Driver) clazz.newInstance();
			
			//3.通过DriverManager来注册驱动
			DriverManager.registerDriver(driver);
			//4.通过DriverManager的getConnection方法,获取Connection类的对象
			conn = DriverManager.getConnection(url, user, password);
			//5.打印出conn对象
			System.out.println(conn);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				//当conn不为空时
				if(conn != null) 
					//关闭conn资源
					conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}

点击运行,运行结果如下代表连接mysql数据库成功
荐
                                                        Java连接mysql数据库的详细教程

上述方法的最优写法

一、创建jdbc.properties文件
鼠标右键点击src → New → File,文件命名为jdbc.properties,点击finish
荐
                                                        Java连接mysql数据库的详细教程
二、在jdbc.properties文件里写上连接数据库必备的4个基本信息(注意:等号两边不能加空格)
荐
                                                        Java连接mysql数据库的详细教程
三、具体实现代码如下
运行程序,能打印出conn对象的具体信息,则成功连接数据库

package com.shaocoder.connection;

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

public class ConnectionTest {

	public static void main(String args[]) {
		InputStream is = null;
		Connection conn = null;
		try {
			//通过类加载器访问jdbc.properties文件,转化为输入流
			is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");
			Properties pros = new Properties();
			pros.load(is);
			
			String user = pros.getProperty("user");
			String password = pros.getProperty("password");
			String url = pros.getProperty("url");
			String driverClass = pros.getProperty("driverClass");
			
			Class.forName(driverClass);
			
			conn = DriverManager.getConnection(url, user, password);
			
			System.out.println(conn);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			
			try {
				if(conn != null)
					conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			try {
				if(is != null)
					is.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
				
		}
		
	}
}

本文地址:https://blog.csdn.net/weixin_48029654/article/details/107331319