Java代码实现班级通讯录系统(连接mysql数据库)

IDEA+MySQL+JavaFX之通讯录系统 IDEA+MySQL+JavaFX软件项目创建设计界面Controller代码编写 刚刚结束了小学期,在这里我想借助我的一个小项目——班级通讯录管理系统,谈谈我的一些想法和学习心得。这个项目在IDEA开发,使用MySQL作为数据库,使用JavaFx SenceBuilder设计界面。所以我觉得这个项目可以简单地帮助初学者了解数据库地连接和javafx的简单使用。 软件 编辑器:IDEA2020.1 JDK版本:1.8.0_251 数据库:MySQL 8.0.20 其他:JavaFx SenceBuilde 阅读详情

Java代码实现班级通讯录系统(连接mysql数据库)

package one;

import java.sql.*;
import java.util.Scanner;

public class AddressBook_Pro {
         private static String connect = "jdbc:mysql:///studentinformation";
         private static String user = "root";
         private static String passward = "root";
         private static String driver="com.mysql.cj.jdbc.Driver";
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        while(true){
            welcome();

            System.out.println("请输入您的选择:");
            int choice = sc.nextInt();
            switch (choice){
                case 1:
                    DataBaseAdd();
                    break;
                case 2:
                    DataBaseDelete();
                    break;
                case 3:
                    DataBaseChange();
                    break;
                case 4:
                    DataBaseFindAll();
                    break;
                case 5:
                    DataBaseFindsingle();
                    break;
                case 6:
                    System.out.println("谢谢使用!");
                    System.exit(0);
                    break;
                default:
                    System.out.println("您输入的信息有误");
                    break;
            }
        }
    }


    public static void welcome(){
        System.out.println("***************欢迎来到学生信息管理系统!!****************");
        System.out.println("----------1.添加学生通讯录信息--------------");
        System.out.println("----------2.删除学生通讯录信息--------------");
        System.out.println("----------3.修改学生通讯录信息--------------");
        System.out.println("----------4.查询所有学生的通讯录信息---------");
        System.out.println("----------5.按学号查询单个学生的通讯录信息----");
        System.out.println("----------6.退出-------------------------");
    }


    public static void DataBaseAdd(){
        Scanner sc = new Scanner(System.in);
        Connection();
        Connection conn = null;
        Statement stmt = null;
        ResultSet resultSet = null;
        try {
            String id;
            String name;
            String qq;
            String phone;
            String address;

            //定义sql语句
            String sql1 = "select * from addressbook";
            //3.获取连接对象
            conn = DriverManager.getConnection(connect, user, passward);
            stmt = conn.createStatement();

            resultSet = stmt.executeQuery(sql1);

            while(true){
                resultSet = stmt.executeQuery(sql1);
                resultSet.next();
                System.out.println("请输入学生学号:");
                id = sc.next();
                if(resultSet.isAfterLast()!=resultSet.isBeforeFirst()){
                ////isBeforeFirst()的作用是获取光标是否位于此 ResultSet 对象的第一行之前,而isAfterLast()的作用是获取光标是否位于此ResultSet 对象的最后一行之后,若这两个得到的值相等,则说明rs获得的内容为空;注意一点是rs获得的内容的判断不能用null来进行判断,若使用,则不能实现所要的结果。
                    if(resultSet.getString("id").equals(id)) {
                        System.out.println("您输入的学号已经存在,请重新输入!");
                        continue;
                    }else {
                        resultSet.close();
                        break;
                    }
                }else {
                    resultSet.close();
                    break;
                }
            }

            System.out.println("请输入学生姓名:");
            name = sc.next();

            System.out.println("请输入学生QQ:");
            qq = sc.next();

            System.out.println("请输入学生phone");
            phone = sc.next();

            System.out.println("请输入学生address");
            address = sc.next();
            //定义SQL
            String sql = "insert into addressbook(id,name,qq,phone,address) value('"+id+"','"+name+"','"+ qq +"','"+phone+"','"+address+"')";

            int count = stmt.executeUpdate(sql);
            if(count>0){
                System.out.println("添加成功!");
            }else{
                System.out.println("添加失败!");
            }

        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (resultSet != null) {
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }


    public static void DataBaseChange(){
        Scanner sc = new Scanner(System.in);
        Connection();
        Connection conn = null;
        Statement stmt = null;
        ResultSet resultSet = null;
        try{
            int count =0;
            String qq ;
            String name ;
            String phone ;
            String address ;

            System.out.println("请输入您要修改的学号: ");
            String id = sc.next();
            //获取连接对象
            conn = DriverManager.getConnection(connect, user, passward);
            //定义sql语句
            String sql1 =  "select * from addressbook where id = ('"+id+"')";
            stmt = conn.createStatement();
            resultSet = stmt.executeQuery(sql1);

            while(resultSet.next()){
                if(resultSet.getString("id").equals(id)) {
                    System.out.println("请输入学生姓名:");
                    name = sc.next();

                    System.out.println("请输入学生QQ:");
                    qq = sc.next();

                    System.out.println("请输入学生phone");
                    phone = sc.next();

                    System.out.println("请输入学生address");
                    address = sc.next();

                    String sql =  "update addressbook set name='"+name+"',qq='"+qq+"',phone='"+phone+"',address='"+address+"' where id = '"+id+"' ";
                    int num = stmt.executeUpdate(sql);

                    if (num > 0) {
                        System.out.println("修改成功!");
                    } else {
                        System.out.println("修改失败!");
                        System.out.println("请检查输入的学号!");
                    }
                    count++;
                    break;
                }
            }
            if(count ==0){
                System.out.println("very sorry,您要输入的学生信息不存在,请重新输入!");
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (resultSet != null) {
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }


    public static void DataBaseDelete(){
        Scanner sc = new Scanner(System.in);
        Connection();
        Connection conn = null;
        Statement stmt = null;
        try{//获取连接对象
            conn = DriverManager.getConnection(connect, user, passward);
            stmt = conn.createStatement();

            System.out.println("请输入您要删除的学号: ");
            String input = sc.next();
            //定义sql语句
            String sql =  "delete from addressbook where id = ('"+input+"')";
            int count = stmt.executeUpdate(sql);

            if (count > 0) {
                System.out.println("删除成功!");
            } else {
                System.out.println("删除失败!");
                System.out.println("非常抱歉,您要删除的学生不存在,请重新输入!!!");
            }

        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }


    public static void DataBaseFindsingle(){
        Scanner sc = new Scanner(System.in);
        Connection();
        Connection conn = null;
        Statement stmt = null;
        ResultSet resultSet = null;
        try{//获取连接对象
            conn = DriverManager.getConnection(connect, user, passward);
            stmt = conn.createStatement();

            int count = 0;

            System.out.println("请输入您要查询的学号: ");
            String input = sc.next();
            //定义sql语句
            String sql =  "select * from addressbook where id = ('"+input+"')";
            resultSet = stmt.executeQuery(sql);

            while(resultSet.next()){
                if(resultSet.getString("id").equals(input)) {
                    String id;
                    String name;
                    String QQ;
                    String phone;
                    String address;
                    id = resultSet.getString("id");
                    name = resultSet.getString("name");
                    QQ = resultSet.getString("QQ");
                    phone = resultSet.getString("phone");
                    address = resultSet.getString("address");
                    System.out.println("学号" + "\t" + "\t" + "姓名" + "\t" + "\t" + "QQ" + "\t" + "\t" + "phone" + "\t" + "\t" + "address");
                    System.out.println(id + '\t' + "\t" + name + '\t' + "\t" + QQ + '\t' + "\t" + phone + '\t' + "\t" + address);
                    count++;
                    break;
                }
            }
               if(count ==0){
                   System.out.println("没有该学号学生的通讯录信息,请检查输入的学号!!");
               }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (resultSet != null) {
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }

    }


    public static void DataBaseFindAll(){
        Connection conn = null;
        Statement stmt =null ;
        Connection();
        try {
            //定义sql
            String sql = "select * from addressbook";
            //3.获取连接对象
            conn = DriverManager.getConnection(connect,user,passward);
            stmt = conn.createStatement();

            ResultSet count = stmt.executeQuery(sql);
            if(count.next()==false){
                System.out.println("非常抱歉,当前没有学生信息可供查看!");
                conn.close();
            }else {
                ResultSet resultSet = stmt.executeQuery(sql);
                String id;
                String name;
                String QQ;
                String phone;
                String address;
                System.out.println("学号" + "\t" + "\t" + "姓名" + "\t" + "\t" + "QQ" + "\t" + "\t" + "phone" + "\t" + "\t" + "address");
                while (resultSet.next()) {
                    id = resultSet.getString("id");
                    name = resultSet.getString("name");
                    QQ = resultSet.getString("QQ");
                    phone = resultSet.getString("phone");
                    address = resultSet.getString("address");
                    System.out.println(id + '\t' + "\t" + name + '\t' + "\t" + QQ + '\t' + "\t" + phone + '\t' + "\t" + address);
                }
                resultSet.close();
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }


    public static void Connection(){
        try {
            //1.注册驱动
            Class.forName(driver);

        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

java版本:11
MySQL版本:8.0
数据库管理工具:Navicat

实现结果:

在这里插入图片描述
在这里插入图片描述

写的若有不对的的地方希望大佬多多指正。

java连接MySQL版本的电话本管理系统 最近老师讲到了JDBC,以电话簿为例,系统的整理一下 要求: 1.创建数据库test中,创建一张名为telephone的表 2.telephone包含的字段有ID(主键自增)、Name、Sex、Age、Telephone、QQ、Address 3.使用程序完成增删改查的功能。 4.具体实现方式仿照8月26日课堂案例。 5.要求:使用PreparedStatement来完成(1)打开Nav 阅读详情

相关推荐

基于JAVA桌面通讯录系统

技术:Java等 摘要:随着社会经济的高速发展,通信工具的开发与运用,人与人之间的联系愈加频繁,通讯录信息的日益增加,传统的手工通讯录模式已经无法满足时代发展需求,为了满足人们当前的需求,方便用户查找联系人信息,结合计算机技术的成熟,开发了这个基于Java桌面通讯录系统。此系统是一个基于C/S模式的通讯录管理系统,采用Java编程语言开发,并且利用MYSQL数据库进行系统数据的存储,充分保证了系统的稳定性和安全性。使用本系统实现通讯录的基本功能和备忘录的基本功能。关键词:通讯录;Java编程语言;MYSQL

m0_60323945的博客 421

数据库--教务管理系统(Java部分--Java-jdbc连接)

数据库--教务管理系统(Java部分--Java-jdbc连接)

weixin_69491512的博客 1961

Java通讯录系统开发:全面指南

本文还有配套的精品资源,点击获取 简介:本文详细解析了开发一个具有来电号码姓名查询和搜索功能的Java公司通讯录系统。该系统基于MVC设计模式,涉及数据库操作、姓名查询与模糊匹配、来电号码实时识别、全局关键词搜索、用户友好的图形界面设计、异常处理、数据安全性保护、性能优化以及系统可扩展性考虑。本文旨在为Java开发者提供全面的技术指南,帮助他们理解和掌握构建高效、安全、易于...

weixin_35732273的博客 1004

java从学号中提取班级_如何实现表间查询并提取班级号

今天下午在整理学生模块成绩时,突然发现学生的模块成绩表中的班级是教学班,而发展报告是要求按行政班进行填写的.就有个问题了:如何按学籍号(因为发展报告只需要用学籍的学生填写),而现在就要把模块成绩表中的班级号改成行政班号.其实以前也遇到过类似问题,都是用笨法,复制/粘贴然后排序,一个个的查找看看是否有漏掉的.实在是麻烦,现在可以利用Excel中的函数Match来解决了.原理:返回在指定方式下与指定数...

weixin_29006187的博客 1359

C# .NET网络通讯录系统完整教程

NET平台由微软开发,是一个用于构建、部署和运行应用程序的全面框架。它不仅支持多种编程语言,如C#、VB.NET等,还提供了丰富的类库,适用于构建多种类型的应用程序,从桌面到Web、移动设备再到云计算平台。本系统主要分为以下几个模块:用户管理模块:负责用户注册、登录、信息修改等用户相关的操作。联系人管理模块:负责联系人的添加、编辑、删除以及分类管理等操作。通讯录数据存储模块:负责存储联系人信息,包括数据的增删改查。网络通信模块:负责客户端与服务器之间的数据交换。

weixin_42594427的博客 987

javaweb开发实用的B/S通讯录包含需要的数据库导入文件

功能强大,实用,能带你进入比较快速进入javaweb开发~~ 增删改查,分页,样样齐全~~外加附带数据库文件,下载导入就能使用

java如何读取学生信息_[Java]班级学生信息写入文件和从文件中读出 - 代码贴 - BCCN...

package QQ9_20;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutp...

weixin_29268267的博客 995

java通讯录连接mysql数据库.pdf

java通讯录连接mysql数据库.pdfjava通讯录连接mysql数据库.pdfjava通讯录连接mysql数据库.pdfjava通讯录连接mysql数据库.pdfjava通讯录连接mysql数据库.pdf

Maven + MyBatis + JavaFX——班级通讯录系统

MyBatis + Maven + MySQL

qq_43688417的博客 1807

Java+Swing+Mysql实现通讯录管理系统

Java+Swing+Mysql实现通讯录管理系统,系统经多次测试,运行无误,大家放心下载。

手把手教你用光耦搭建安全隔离电路:从洗衣机控制板到PLC输入模块实战

本文通过洗衣机控制板驱动高压电机和PLC输入模块采集现场信号两个实战场景,手把手教你使用光耦搭建安全隔离电路。文章详细解析了电路架构、关键器件选型、参数计算、仿真验证及PCB布局避坑技巧,并对比了光耦与数字隔离器的适用场景,帮助电子工程师掌握这门保障系统稳定与安全的必备技能。

h6j7k8l9p0的博客 464

Java《个人通讯录系统》【附源码】

基于Java Swing的个人通讯录管理系统。系统包含用户管理(注册、登录、修改密码)和联系人管理(增删改查)两大模块。用户信息存储在MySQL的users表,联系人数据保存在contacts表,通过JDBC实现数据库连接。界面包括登录窗口、主操作窗口和各类对话框,采用Swing组件构建。系统实现了联系人添加时的唯一性校验、密码修改的安全验证等功能,并通过表格展示数据。

weixin_44207499的博客 1047

linux操作系统使用以太网连接ubuntu,设置固定ipv4

首先,您需要确定要配置的网络接口。可以使用ifconfig -a或ip addr命令来列出当前系统上的所有网络接口及其相关信息。找到您要配置的网络接口名称,例如eth0、ens33或enp0s3;保存并关闭文件后,您需要重启网络服务以使更改生效。在linux操作系统中,要使用交换机连接以太网可以直接使用交互界面;如果你的操作系统没有交互界面,你可以使用命令方式配置;点击ipv4,方式为手动,可以设置ip和子网了;开头,后接网络接口名称。第三步:点击有线最右边圆形控件;第二步:点击有线设置;

2301_79311842的博客 2406

Java+MySQL图形界面编程模拟通讯录系统

需求分析 通讯录信息管理系统的功能总结起来,共需要以下几个方面: 1、通讯录中联系人的增加、保存功能 2、联系人的信息检索功能,包括对联系人的信息排序(如:按年龄排序),精确查找,条件查询等快捷功能 3、联系人信息修改与删除功能,通过本系统可快速修改联系人信息,批量删除和全部删除。 结构设计 根据对系统的需求分析,本系统将分为 3 个模块: 输入信息管理: 管理联系人的基本信息录入。 查询信息管...

沸腾的石灰 8290

抖音中动态生成msToken的方法

抖音中动态生成msToken的方法

sh_moranliunian的博客 2487

RT-DETR训练前的准备,将数据集划分成训练集、测试集验证集(附完整脚本及使用说明)

在计算机视觉领域,当我们着手训练一个模型时,。其中,将数据集划分为和更是一项基础性且关键的操作。这篇博客分析了这一划分背后的原因、其重要意义以及如何通过代码实现,帮助大家更好地理解和运用这一技巧,。

Limiiiing的博客 911

【源码+文档】基于ssm的个人通讯录系统

在你的计算机科学学习和研究旅程中,选择合适的工具和资源至关重要。基于ssm的个人通讯录系统设计与实现计算机项目源码,是你迈向成功的重要一步。

2402_84485123的博客 794

【知识分享】CAN总线中终端网络的重要性

P沟道和N沟道晶体管的漏源通态电阻匹配良好时,形成的CANH和CANL信号匹配良好;如果驱动器的一半具有比另一半低得多的导通状态电阻,那么总线共模电压将从VCC/2的显性状态偏离,并回到VCC/2的隐性状态,这将导致每一次状态转换都会伴随着共模电压噪声,从而导致更高水平的传导和辐射能量发射。

一只豌豆象的博客 1547

基于java个人通讯录系统论文

论文成果总结:系统功能完成度与创新点不足与改进方向:扩展云端同步、多端适配等。

QQ_402205496的博客 377

14003.xilinx系统移植

文章目录1 xilinx 系统移植 sd卡版本1.1 创建项目1.2 拷贝 *.hdf 到工程目录1.3 根据hdf文件对系统进行配置1.3.1 设置内核源码路径为本地1.3.2 设置分区的名称与大小1.4 清除本地缓存并编译成功1.5 打包生成BOOT.BIN并拷贝到sd卡1.6 问题1.7 系统启动成功1.8 配置设备树文件丰富系统外设 1 xilinx 系统移植 sd卡版本 芯片型号 ZYNQ UltraScale+ XAZU2EG ,对应厂家提供的demo板为 zu102或zu104 1.1 创建

写给自己的笔记 483

MATLAB基础应用精讲-【数模应用】数字预失真(DPD)(附MATLAB代码实现)

近年来,随着无线通信技术的发展,高功率放大器 (PA) 在提高信号传输功率的同时,也带来了非线性失真问题。PA的非线性失真会造成信号频谱扩展、功率下降、邻道干扰等问题,严重影响系统性能。为了克服PA的非线性失真,数字预失真 (DPD) 技术应运而生。DPD技术通过在发射机中引入一个非线性模块,对信号进行预失真处理,从而补偿PA的非线性失真。

qq_36130719的博客 898

Linux——Ubuntu中使用C语言连接Mysql数据库做一个简单的通讯录

目录 系统功能要求 相关软件要求 设计思路 程序功能图 功能流程图 C程序的编写运行 程序运行效果 总结与分析 附录(C程序代码) 系统功能要求 1、用户需要用户名和密码登录才能对通讯录进行各种操作 2、用户登录后可修改自己的密码 3、用户登录后可以对个人通讯录进行增、删、改、查的功能 4、不能对别的用户的通讯录进行任何操作 相关软件要求 编程语言:C语言,并...

苦作舟的空城机 3009

【电路设计】SERDES与pcie

明确通信接口需要达到什么样的数据速率、信号完整性以及系统中各个部件的互相作用。2.

数字人生 4568

基于JSP的JSP MYSQL个人通讯录系统系统javaweb个人通讯录系统系统mysql数据源

基于JSP的JSP+MYSQL个人通讯录系统系统javaweb个人通讯录系统系统mysql数据源 1.包含源程序,数据库脚本。 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善。 开发环境: Eclipse ,MySQL 5.1,JDK1.7,Tomcat 7 涉及技术点: MVC模式、JavaWeb、JDBC、HTML、CSS、JQUERY、分页、等。 使用工具: 后台界面 -&gt...

QQ80213251的博客 2665

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Java~通讯录系统

Java~通讯录欢迎各位1、需求分析2、概要设计2.1功能模块结构图2.2业务流程图3 运行环境4 开发工具和编程语言5 详细设计5.1 数据库设计5.2 类的设计 1、需求分析 在设计一个完整的系统中,我从系统的管理员登录界面开始做,另外依据相关要求,对系统增加了数据库支持(MySQL做的数据库),还有对数据库里的数据进行增加、删除、显示所有记录、查询记录、修改记录、导出备份数据库文件、导入数据库文件。为了保证数据库的安全,在系统中设立了管理员权限,即只有被允许的用户才可以进入该系统。此外,还增设了用户注

陌年的博客 5300

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

基于JSP个人通讯录系统

技术:Java、JSP等 摘要:随着科技的发展,互联网和移动通讯技术的融合愈来愈完美,基于这种技术的网络产品已经成为人们生活中不可或缺的一部分。与此同时,21世纪是一个信息爆炸的时代,信息量不断增多,沟通日益现代化,因此人们需要一个方便快捷的方式来存储大量的通讯信息。通过对人们想要通讯录实现具体功能的深入调查与分析以及对其他通讯录系统的学习,为用户量身定制了一个实用的个人通讯录,使用户可以通过Web,WAP等方式随时随地进行访问。个人通讯录系统是一个专门针对储存用户联系方式多以及一些个人信息的实用信息系统,

myqq374327792的博客 398

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: JAVA代码实现学生信息的录入和查询
下一篇: java JDBC连接MySQL数据库调用存储过程进行查询
CrazyCodePlayer..
博客等级 码龄6年 37粉丝 5原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值