百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 软件资讯 > 正文

Java 连接操作 MySQL 数据库(增删查改操作)

ninehua 2024-12-11 16:22 32 浏览

环境

  • MySQL 5.5 版本
  • eclipse
  • MySQL 连接驱动 mysql-connector-java-5.1.18-bin.jar

mysql8.0之前的版本与之后的版本使用的jar包是不同的,在使用时也有一定的区别。这里,我的 MySQL 版本为 5.5。

准备工作

  • 将 jar 包添加到项目中,右键项目,如下,选择Configure Build Path...
  • 将刚才下载好的 jar 包添加进去即可

增删查改操作

  • 首先,建立一个数据库模板 DBConfig.java

注意:要提前建立一个数据库,然后在JDBC_URL中填写你自己的数据库名称

/*
 * 若尘
 */
package test;

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


/**
 * 数据库连接和关闭工具类
 * @author ruochen
 * @version 1.0
 */
public class DBConfig {
	/** 定义数据库驱动类名称 */
	private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
	
	/** 数据库连接地址 */
	private static final String JDBC_URL = "jdbc:mysql://127.0.0.1:3306/JavaDB?characterEncoding=utf8";
	
	/** 数据库用户名 */
	private static final String JDBC_USERNAME = "root";
	
	/** 数据库密码 */
	private static final String JDBC_PASSWORD = "root";
	
	/** 数据库连接对象 */
	private static Connection conn = null;
	
	/**
	 * 获得链接
	 * @return
	 */
	public static Connection getConnection() {
		try {
			try {
				// 加载驱动程序
				Class.forName(JDBC_DRIVER);
				System.out.println("加载成功");
			} catch (java.lang.ClassNotFoundException e) {
				System.out.println("ForName: " + e.getMessage());
			}
			conn = DriverManager.getConnection(JDBC_URL, JDBC_USERNAME, JDBC_PASSWORD);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return conn;
	}
	
	public static void closeConnection(ResultSet rs, Statement ps, Connection conn) {
		try {
			if (null != rs) {
				rs.close();
			}
			if (null != ps) {
				ps.close();
			}
			if (null != conn) {
				conn.close();
			}
		} catch (Exception e) {
			System.out.println("Close connection error");
			e.printStackTrace();
		}
	}
}
  • 建表操作 CreateTest.java
/*
 * 若尘
 */
package test;

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

/**
 * JDBC链接数据库,创建数据表 
 * @author ruochen
 * @version 1.0
 */
public class CreateTest {
	public static void main(String[] args) {
		Connection conn = DBConfig.getConnection();
		try {
			Statement st = conn.createStatement();
			ResultSet re = conn.getMetaData().getTables(null, null, "student", null);
			if (re.next()) {
				System.out.println("表已经存在");
			} else {
			// 建表语句
			String sql = "create table student ( "
					+ "id char(10),"
					+ "name char(16),"
					+ "score integer" + ")";
			st.executeUpdate(sql);
			System.out.println("创建成功");
			}
			DBConfig.closeConnection(re, st, conn);
		} catch (SQLException e) {
			System.out.println("SQLException: " + e.getMessage());
		}
	}

}
加载成功
创建成功
  • 插入操作 InsertTest.java
/*
 * 若尘
 */
package test;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 数据表中插入数据 
 * @author ruochen
 * @version 1.0
 */
public class InsertTest {

	public static void main(String[] args) {
		Connection conn = DBConfig.getConnection();
		try {
			Statement st = conn.createStatement();
			String r1 = "insert into student values('0001', '小王', 80)";
			String r2 = "insert into student values('0002', '小李', 82)";
			String r3 = "insert into student values('0003', '小张', 90)";
			
			st.executeUpdate(r1);
			st.executeUpdate(r2);
			st.executeUpdate(r3);
			System.out.println("插入成功");
			
			DBConfig.closeConnection(null, st, conn);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}
加载成功
插入成功
  • 更新操作 UpdateTest.java
/*
 * 若尘
 */
package test;

import java.sql.Connection;
import java.sql.PreparedStatement;

/**
 * 更新数据库操作 
 * @author ruochen
 * @version 1.0
 */
public class UpdateTest {

	public static void main(String[] args) {
		Connection conn = DBConfig.getConnection();
		
		String[] id = {"0002", "0003"};
		int[] score = {70, 60};
		PreparedStatement ps;
		try {
			ps = conn.prepareStatement("Update student set score=? where id=?");
			int i = 0, idlen = id.length;
			do {
				ps.setInt(1, score[i]);
				ps.setString(2, id[i]);
				ps.executeUpdate();
				System.out.println("修改成功");
				++i;
			} while (i < idlen);
			DBConfig.closeConnection(null, ps, conn);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
加载成功
修改成功
修改成功
  • 删除、查询操作 SearchTest.java
/*
 * 若尘
 */
package test;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * 删除、查询数据库操作
 * @author ruochen
 * @version 1.0
 */
public class SearchTest {
	public static void main(String[] args) {
		Connection conn = DBConfig.getConnection();
		try {
			Statement st = conn.createStatement(); 
			PreparedStatement ps = conn.prepareStatement("delete from student where id=?");
			ps.setString(1, "0002");
			ps.executeUpdate();
			System.out.println("删除成功");
			ResultSet rs = st.executeQuery("select * from student");
			while (rs.next()) {
				System.out.println(rs.getString("id") + "\t"
						+ rs.getString("name") + "\t" + rs.getShort("score"));
			}
			st.close();
			DBConfig.closeConnection(rs, ps, conn);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
加载成功
删除成功
0001	小王	80
0003	小张	60

相关推荐

VMware ESXI系统镜像定制

为什么要定制ESXi镜像呢?原因很简单,那就是H3C比较老的服务器,比如我用的UISR390XG2服务器,是没有适配的ESXi部署镜像的。而我要部署的H3CloudOS添加节点时只能选择H3C...

最新保姆级、超详细介绍VMware的使用(一)软件的安装

一、VMware简介VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMware采用了完全不同的概...

微软提供免费Windows 11 虚拟机下载

据ZDNet11月23日报道,微软(Microsoft)提供了免费的Windows11企业版虚拟机以供下载。针对开发人员,微软表示,“通过使用带有最新版本的Windows、开发工具、sdk和准备好的...

VMware Workstation Pro 17.5安装包下载安装教程

软件简介VMwareWorkstationPro17.5是一款专业功能最强大的虚拟机软件,用户可以在虚拟机同时运行各种操作系统,进行开发、测试、演示和部署软件,虚拟机中复制服务器、台式机和平板环...

VMware vCenter Server 8.0U3c 发布下载,修复 U3b 更新停止响应的问题

VMwarevCenterServer8.0U3c发布下载,修复U3b更新停止响应的问题VMwarevCenterServer8.0U3c发布下载-集中式管理vSphere...

最新整套VMware Workstation 15 Pro 官方简体中文版 + 永久密钥

VMwareWorkstation是深受全球用户信赖并屡获殊荣的虚拟机软件。它可以在单台PC上运行多个、多平台、多层面的操作系统与应用程序。并且支持快照和克隆,支持物理机与虚拟机间复制、移动,交...

VMware16虚拟机安装教程

系统装机教程也告一段落,接下来秋水给大家讲讲虚拟机的安装,这里呢虚拟机选择VMware。一、安装教程1、在软件官网下载VMware安装包,或者在后台回复获取秋水下载好的安装包。2、双击软件进行安装,并...

VMware虚拟机12.1下载:修复Win10镜像识别错误等问题

IT之家讯12月9日消息,虚拟机软件VMwareWorkstation迎来12.1更新版本,本次更新为维护性更新,修复了之前版本中存在的一些问题,比如将Win10首个重大更新ISO镜像错误识别为W...

VMware vCenter Server 8.0U3b 发布下载,新增功能概览

VMwarevCenterServer8.0U3b发布下载,新增功能概览ServerManagementSoftware|vCenter请访问原文链接:https://sysin.or...

下载VMware虚拟机:打造全能多系统桌面,让IT技术探索触手可及!

VMware虚拟机打造全能多系统桌面,助力IT技术探索在当今科技飞速发展的时代,IT技术正以前所未有的速度渗透到生活和工作的方方面面。无论是智能硬件、移动应用还是云计算服务,都离不开IT技术的支撑。掌...

如何在vmware workstation player虚拟机上安装VMware Tools工具

版本:vmwareworkstation16player&ubuntu64位。首先我们使用vmwareworkstation16player启动ubuntu64位虚拟机,然后点击虚...

VMware与CentOS安装配置指南

以下是一份详细的VMware虚拟机安装、配置及CentOS系统安装配置的指南,适合新手逐步操作:一、VMware虚拟机安装与配置下载并安装VMware下载地址:访问VMware官网,选...

VMware虚拟机与物理机文件交互,这8种方法送给你

上一期我们讲解过用VMWare虚拟机打造一个金刚不坏之身的操作系统,小伙伴们反应说方法不错,只是虚拟机与物理机文件交互方式不好操作,这期应小伙伴们的要求,给大家讲解下虚拟机与物理机文件交互的8种方式,...

VMware 17.0 Pro 版本正式发布,还有适配MacOS 的 Fusion 13 Pro下载

VMware17.0Pro官方下载地址:【点击获取】私聊VMware17.0Pro的新功能特性容器和Kubernetes支持使用vctlCLI构建/运行/拉/推容器映像。支持在Works...

VMware Tools安装失败?手把手教你本地安装

VMwareTools安装失败?作为虚拟机与物理机之间的"桥梁",VMwareTools能实现文件拖拽、剪贴板共享、分辨率自适应等关键功能。没有它,VMware虚拟机就变得非常不好...