写在前面的话:

  1. 参考资料:尚硅谷视频
  2. 本章内容:使用面向对象的思想,进行对数据库的增删改查
  3. IDE:eclipse
  4. JDK:Java8
  5. MySQL:mysql  Ver 8.0.26 for Win64 on x86_64

目录

1.首先,创建一张学生表

2.代码部分

3.截图


1.首先,创建一张学生表

如何创建一张表https://blog.csdn.net/qq_56402474/article/details/124894951?spm=1001.2014.3001.5501

2.代码部分

JdbcTest.java

package exer02;import java.text.SimpleDateFormat;
import java.util.Date;import org.junit.Test;public class JdbcTest {@Testpublic void test1() throws Exception {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String[] name = { "刘旎娜", "刘唯芳", "刘玥妘", "刘欣儿", "刘浚雯", "刘丁菡", "刘音颖", "刘静晓", "刘锦姣", "刘昭萱", "刘书云", "刘丹钰", "刘涵瑶","刘晨薪", "刘羽童", "刘芮悠", "刘嫣晨", "刘槿萁", "刘朝英", "刘扬琴", "刘柠涛", "刘卉一", "刘菁妤", "刘昀蓉", "刘楚洪", "刘菡婌", "刘薇涵", "刘洪宸","刘玉芹", "刘姝梓", "刘尚薇", "刘燚圭", "刘妘嫣", "刘施嘉", "刘慧赣", "刘琴心", "刘蕾雪", "刘绎涵", "刘音梦", "刘忆嘉", "刘誉函", "刘依月", "刘璐欣","刘琳蕾", "刘轲文", "刘伊嵘", "刘冬珺", "刘煜凡", "刘丽枝", "刘荷冉", "刘梦茜", "刘荣娜", "刘俐昪", "刘瑜然", "刘若敏", "刘慕熙", "刘晴月", "刘晨微","刘玉如", "刘韶婷" };// 添加学生Student student = null;for (int i = 1006; i < 1020; i++) {student = createStudent(i, name[i-1006], "女", sdf.parse("2000-12-23 12:00:42"), "19218229802", "重庆市沙坪坝区都市花园中路111号");addStudent(student);}// 查询学生
//      searchStudent(1001);
//      searchStudent(1002);
//      searchStudent(1003);
//      searchStudent(1004);
//      searchStudent(1005);
//      searchStudent(1006);
//      searchStudent(1007);// 删除学生
//      deleteStudent(1006);}/*** 创建一个学生* * @param id       学号* @param stuname  姓名* @param sex      性别* @param birth    生日* @param telphone 电话* @param addr     地址* @return 返回一个学生*/public Student createStudent(int id, String stuname, String sex, Date birth, String telphone, String addr) {// 创建学生Student student = new Student(id, stuname, sex, birth, telphone, addr);return student;}/*** 添加一个新学生* * @param student 学生*/public void addStudent(Student student) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 1.准备SQL语句String sql = "INSERT INTO student VALUES(" + student.getId() + ",'" + student.getStuname() + "','"+ student.getSex() + "','" + sdf.format(student.getBirth()) + "','" + student.getTelphone() + "','"+ student.getAddr() + "');";// 2.调用JdbcTools里面的执行工具JdbcTools.update(sql);System.out.println("添加学生成功!");}/*** 删除一个学生* * @param student 学生*/public void deleteStudent(int id) {// 1.准备SQL语句String sql = "DELETE FROM student " + "WHERE id = " + id + ";";// 2.调用JdbcTools里面的执行工具JdbcTools.update(sql);System.out.println("删除学生成功!");}/*** 查找学生【通过学号】* * @param id*/public void searchStudent(int id) {// 1.准备SQL语句String sql = "SELECT id,stuname,sex,birth,telphone,addr FROM student " + "WHERE id = " + id + ";";// 2.通过SQL语句获取学生Student student = JdbcTools.getStudent(sql);// 3.打印学生基本信息printStudent(student);}/*** 打印学生信息* * @param student*/private void printStudent(Student student) {if (student != null) {// 当student 不为空时,打印输出System.out.println("==学生基本信息==");System.out.println("学号:" + "\t" + student.getId());System.out.println("姓名:" + "\t" + student.getStuname());System.out.println("性别:" + "\t" + student.getSex());System.out.println("生日:" + "\t" + student.getBirth());System.out.println("电话:" + "\t" + student.getTelphone());System.out.println("地址:" + "\t" + student.getAddr());} else {System.out.println("未找到该学生,请换一个学号或者姓名试试");}}/*** 查找学生【通过姓名】* * @param name*/public void searchStudent(String name) {// 1.准备SQL语句String sql = "SELECT id,stuname,sex,birth,telphone,addr FROM student " + "WHERE name = '" + name + "';";// 2.通过SQL语句获取学生Student student = JdbcTools.getStudent(sql);// 3.打印学生基本信息printStudent(student);}}

JdbcTools.java

package exer02;import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;/*** JDBC工具类: 1.连接数据库 2.释放连接 3.对数据库进行增删改 4.对数据库进行查询* * @author star-dream**/
public class JdbcTools {/*** 获取数据库连接* * @return 返回一个数据库连接 Connection* @throws Exception*/private static Connection getConnection() throws Exception {// 准备连接数据库的4个字符串String driver = null;String jdbcUrl = null;String jdbcUser = null;String jdbcPassword = null;// 创建输入流的对象InputStream inputStream = JdbcTools.class.getClassLoader().getResourceAsStream("exer02//jdbc.properties");// 创建Properties的对象Properties properties = new Properties();// 加载properties配置文件到程序中properties.load(inputStream);// 获取文件中的数据driver = properties.getProperty("driver");jdbcUrl = properties.getProperty("jdbcURL");jdbcUser = properties.getProperty("user");jdbcPassword = properties.getProperty("password");// 获取数据库驱动程序Class.forName(driver);// 进行连接Connection conn = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPassword);// 返回连接return conn;}/*** 释放连接* * @param connection 获取的连接* @param statement* @param resultSet     结果集*/private static void release(Connection connection, Statement statement,ResultSet resultSet) {//判断结果集是否为nullif(resultSet != null) {try {resultSet.close();} catch (Exception e) {e.printStackTrace();}}// 判断连接是否为空if (statement != null) {// 为了保证连接必须关闭,使用异常处理,防止因为statement关闭出现异常,connection未能够关闭try {statement.close();} catch (Exception e) {e.printStackTrace();}}if (connection != null) {try {connection.close();} catch (Exception e) {e.printStackTrace();}}}/*** 修改数据库 INSERT UPDATE DELETE* * @param sql 传入一个SQL语句*/public static void update(String sql) {// 获取数据库连接Connection conn = null;Statement statement = null;try {// 获取连接conn = getConnection();statement = conn.createStatement();// 执行SQL语句statement.executeUpdate(sql);} catch (Exception e) {e.printStackTrace();} finally {// 释放连接release(conn, statement,null);}}/*** 对数据库进行查询* @param sql* @return 获取查询到的学生*/public static Student getStudent(String sql) {Student student = null;//数据库连接Connection connection = null;Statement statement = null;ResultSet resultSet = null;try {connection = getConnection();statement = connection.createStatement();resultSet =  statement.executeQuery(sql);//判断是否存在if (resultSet.next()) {student = new Student(resultSet.getInt(1),resultSet.getString(2), resultSet.getString(3), resultSet.getDate(4), resultSet.getString(5), resultSet.getString(6));}} catch (Exception e) {e.printStackTrace();} finally {//释放连接release(connection, statement, resultSet);}       //将结果返回return student;}
}

student.java

package exer02;import java.util.Date;public class Student {int id;//学号String stuname;//姓名String sex;//性别Date birth;//生日String telphone;//电话String addr;//地址public Student() {}public Student(int id, String stuname, String sex, Date birth, String telphone, String addr) {super();this.id = id;this.stuname = stuname;this.sex = sex;this.birth = birth;this.telphone = telphone;this.addr = addr;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getStuname() {return stuname;}public void setStuname(String stuname) {this.stuname = stuname;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public Date getBirth() {return birth;}public void setBirth(Date birth) {this.birth = birth;}public String getTelphone() {return telphone;}public void setTelphone(String telphone) {this.telphone = telphone;}public String getAddr() {return addr;}public void setAddr(String addr) {this.addr = addr;}@Overridepublic String toString() {return "Student [id=" + id + ", stuname=" + stuname + ", sex=" + sex + ", birth=" + birth + ", telphone="+ telphone + ", addr=" + addr + "]";}}

jdbc.properties文件内容

driver=com.mysql.cj.jdbc.Driver
jdbcURL=jdbc:mysql://localhost:3306/_db3
user=root
password=root

3.截图

特别说明:本篇文章只是对另外的一篇文章作为一个补充,该文章更加完善。

JDBC对数据库进行增删改查https://blog.csdn.net/qq_56402474/article/details/124764858?spm=1001.2014.3001.5501

JDBC对数据库进行增删改查【面向对象版】相关推荐

  1. JDBC实现数据库的增删改查

    本文主要讲解: JDBC的概念 JDBC的原理 创建用于测试的数据库 使用JDBC操作数据库 思考与分析 关于JDBC JDBC(Java DataBase Connectivity,java数据库连 ...

  2. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. DAO模式设计-JDBC连接Mysql数据库实现增删改查及JunitTest单元测试

     概念介绍 JDBC JDBC(Java数据库连接,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC ...

  4. jdbc增删改查有哪些步骤_用Mybatis如何实现对数据库的增删改查步骤

    使用Mybatiss实现对数据库的增删改查 文件目录 1.导入jar包,这里使用maven <dependencies><!--mybatis依赖--><!-- org. ...

  5. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  6. jdbc如何对mysql数据库进行查询_【转载】通过JDBC对MySQL数据库的增删改查

    目录 前言:什么是JDBC 维基百科的简介: Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接 ...

  7. 通过JDBC进行简单的增删改查(二)

    本章笔记更易理解和学习,也是我第一次初学的笔记. 1 package javastudy; 2 3 import java.sql.Connection; 4 import java.sql.Driv ...

  8. JDBC进行简单的增删改查

    一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操作 (1)定义记录的类(可选) (2)连接的获取 (3)insert (4)up ...

  9. 通过JDBC进行简单的增删改查(以MySQL为例)

    目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操作 (1)定义记录的类(可选) (2)连接的获取 ( ...

最新文章

  1. 【面试 多线程】【第九篇】多线程的问题
  2. AngularJs异步文件上传
  3. 无监督学习:无监督降维
  4. mysql relaylog 慢_MySQL 主从同步延迟的原因及解决办法
  5. Visual Studio Code设置断点时出现Unverified breakpoint该咋办
  6. python之路day03--数据类型分析,转换,索引切片,str常用操作方法
  7. 【numpy】numpy.ones()函数
  8. 学习Direct3D(五)应用程序入口
  9. matlab绘制爱心
  10. C语言--大小端转换
  11. 贴吧签到php,贴吧自动签到 – 前端开发,JQUERY特效,全栈开发,vue开发
  12. 华为轮值CEO徐直军:应对快速变化的世界
  13. Testin云测荣获5G应用企业服务优秀平台奖
  14. 字符串函数 tirm 的作用
  15. MySQL的在线文档
  16. 做自媒体要会用的剪辑工具分享
  17. 数学在计算机专业中的应用,高等数学在计算机专业教学中的应用
  18. 电脑java运行不了,为什么我的电脑不能运行java?
  19. PCI设备驱动与虚拟网卡驱动源码分析
  20. 办公考计算机二级什么课程好,计算机二级办公软件主要考哪些东西

热门文章

  1. JavaScript 数组之every
  2. 恋物志(一):网红带货,宠主追捧,2021年宠物智能硬件会火吗?
  3. 第四章 开始Unity Shader学习之旅(1)
  4. 爬百度贴吧并保存链接
  5. JAR文件(文件格式)
  6. 求二叉树的叶子节点数目
  7. 源码大公开!Python爬取豆瓣电影Top250源代码,赶紧收藏!
  8. Unity3d Ugui 15 TextMeshPro
  9. Class<?>和Class的区别
  10. 主题 10:如何将工作中的创新点转化为专利