前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 连接操作 MySQL 数据库(增删查改操作)

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

原创
作者头像
ruochen
修改2021-05-17 10:21:06
4.8K0
修改2021-05-17 10:21:06
举报

MySQL 操作有不懂的,可查看我的 MySQL教程

环境

  • MySQL 5.5 版本
  • eclipse
  • MySQL 连接驱动 mysql-connector-java-5.1.18-bin.jarmysql8.0之前的版本与之后的版本使用的jar包是不同的,在使用时也有一定的区别。这里,我的 MySQL 版本为 5.5。$\color{red}连接驱动链接放在文末,需要可自行下载$

准备工作

  • 将 jar 包添加到项目中,右键项目,如下,选择Configure Build Path...
    /* * 若尘 */ 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(); } } }
  • 将刚才下载好的 jar 包添加进去即可
    在这里插入图片描述
    在这里插入图片描述
    增删查改操作
  • 首先,建立一个数据库模板 DBConfig.java注意:要提前建立一个数据库,然后在JDBC_URL中填写你自己的数据库名称
  • 建表操作 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
在这里插入图片描述
在这里插入图片描述

mysql-connector-java-5.1.18-bin.jar

链接:https://pan.baidu.com/s/1Ep7pKfFnHq_S8oN1Z4kaNg

提取码:tz8n

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境
  • 准备工作
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档