Eclipse 连接 MySQL数据库

一、环境搭建

1.工具

(1) eclipse
(2) MySQL5.7
下载地址


(3) MySQL连接驱动:mysql-connector-java-8.0.13.jar 下载地址

2.加载驱动

(1) 将下载的MySQL连接驱动解压,将其中的mysql-connector-java-8.0.13.jar文件放到MySQL软件所在位置(只是为了方便)

(2) 右键要添加数据库驱动的工程项目 -> Buile Path -> Configure Build Path

然后 Java Build Path -> Libraries -> Add External JARs... -> 选中 mysql-connector-java-8.0.13.jar -> Apply and Close

 

完整语句:

package com.cyz.dao;

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

/**
 * 数据库连接及操作类,包括构造方法(连接数据库操作)
 * 执行查询语句方法 executeQuery(), 执行更新操作方法 executeUpdate(),
 * 	关闭数据库连接方法 close()
 * 
 * @author 1651200111 陈彦志
 */
public class Dao {
	
	// 数据库连接驱动包名
	protected static String dbClassName = "com.mysql.cj.jdbc.Driver";

	private static Connection con = null;
	
	// 数据库连接路径
	String url = "jdbc:mysql://127.0.0.1:3306/bookmanagesystem?"
			+ "useUnicode = true & serverTimezone = GMT"
			// MySQL在高版本需要指明是否进行SSL连接
			+ "& characterEncoding = utf8 & useSSL = false";
	String username = "root";
	String password = "root";
	
	
	/**
	 * 构造方法中创建数据库连接操作
	 */
	private Dao() {
		try {
			if (con == null) {
				// 加载数据库驱动,创建由此类对象表示的类的新实例
				Class.forName(dbClassName).newInstance();
				// 通过访问数据库的URL获取数据库连接对象
				con = DriverManager.getConnection(url, username, password);
			}
			else {
				return ;
			}
		}catch (Exception e) {
			e.printStackTrace();
		}
	}

	
	/**
	 * 执行查询语句方法
	 * @return
	 * 		ResultSet的结果集
	 */
	private static ResultSet executeQuery(String sql) {
		try {
			// 如果为空再创建数据库连接,避免程序资源浪费
			if (con == null) {
				// 初始化Dao对象,调用构造函数,获取数据库连接
				new Dao();		
			}
			// 创建Statement对象,生成具有给定类型、并发性和可保存性的ResultSet对象					
			return con.createStatement(
					/*
					 * 第一个参数允许记录指针向前或向后移动,当ResultSet对象变动记录指针时,会影响记录指针的位置
					 * 如果一个用户正在浏览记录,其他用户的操作使数据库中的数据发生了变化,这时当前用户所获取的
					 * 记录集中的数据也会同步发生改变 */
					ResultSet.TYPE_SCROLL_SENSITIVE,		
					//  第二个参数支持对ResultSet的动态更新
					ResultSet.CONCUR_UPDATABLE).executeQuery(sql);			
			} catch (SQLException e) {
				e.printStackTrace();
				return null;
			} finally {}		
	}

	
	/**
	 * 执行更新操作,返回值为1代表成功更新,返回-1代表没有成功
	 * @return
	 * 		int
	 */
	private static int executeUpdate(String sql) {
		try {
			if (con == null) {
				new Dao();
			}
			return con.createStatement().executeUpdate(sql);
		} catch (SQLException e) {
			System.out.println(e.getMessage());
			return -1;
		} finally {}
	}

	
	/**
	 * 关闭数据库连接
	 */
	public static void close() {
		try {
			con.close();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			// 确保数据库连接在程序结束后确定被关闭,将数据库连接置空
			con = null;
		}
	}

	

	
}

 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值