首页 > 编程语言 >JAVA期末通讯录

JAVA期末通讯录

时间:2024-12-24 23:31:38浏览次数:4  
标签:JAVA System private 期末 通讯录 println ----- id out

写了挺久的,来CSDN记录一下

应用软件:mysql,idea


--------------------------------------------------------

第一步:连接数据库
直接去哔哩哔哩上面找mysql下载,下载完了之后我自身没有配什么环境,直接找的mysql怎么跟idea连接视频
先用idea把mysql连接了之后
再去看的mysql该怎么去创建表
创建表完了后
去看黑马程序员关于JDBC的,直接看他的第一个视频,就把它给连完了
   看这个视频主要是要按照它的步骤一步一步,比如建模块,建包啥的(好像放一堆用不了)
   然后要拖一个jar包到lib里面(视频会告诉怎么建,这个上面有操作,要跟视频来
  下载到电脑里面直接把那个拖进去,应该能行
  拖进去了之后,按黑马的步骤走,完了就要写连接两个软件的代码(代码里面的一些内容要根据    自己的情况更改,比如要填用户名,密码,把表的名字给改为自己在mysql建立的表的名字)


----------------------------------------------------------
第二步:建立一个包封装数据和行为

(以建立Contact类为代表,变量id为解释对象)

-----

定义私有成员变量

如private int id;
private String name;

// 使用private修饰符确保这些字段只能被本类的方法访问,从而实现了数据封装

-----

构造函数,用于初始化新创建的Contact对象的各个字段
public Contact(int id,   ,  ) {
    //将传入的参数值赋给对应的成员变量
    this.id = id;}

-----

定义一系列的公共的访问器方法getter方法

public int getId() {
    return id;
}

-----

重写Object 类的 toString 方法

public String toString() {
        return "ID: " + id + ", 姓名: " + name + ", 电话号码: " + phoneNumber + ", 电子邮件: " + email;
    }

----------------------------------------------------------

第三步:实现与系统交互

(建立ContactBook类为例)

-----

//声明并初始化三个静态常量

private static final String DB_URL = "jdbc:mysql://localhost:3306/表名?useSSL=false&serverTimezone=UTC"; private static final String DB_USER = "root"; private static final String DB_PASSWORD = "*****";

-----

//读取用户输入

Scanner scanner = new Scanner(System.in); //创建一个 Scanner 对象

-----

//实现人机交互

//声明一个整型变量 choice,用于存储用户的操作选择

int choice;

do - while 循环持续显示菜单并处理选择

do {   System.out.println("请选择操作:");     System.out.println("1. 添加信息");     System.out.println("****");     System.out.println("**** ");     System.out.println("****");     

 // 使用 scanner.nextLine() 清除输入缓冲区中的换行符

choice = scanner.nextInt();  

scanner.nextLine();  

//

switch (choice){

case 1 ....

case  2 ....

}

} while (true);

-----

获取数据库连接

private static Connection getConnection() throws SQLException {

return DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); }

-----

定义方法

// 定义私有静态方法 addContact,添加联系人信息

private static void addContact(Scanner scanner) {     

   System.out.println("请输入联系人ID:");  

  int id = scanner.nextInt();    

scanner.nextLine();  

  System.out.println("请输入联系人姓名:");    

-----

// 读取用户输入的整数并存储在 id 变量中

String name = scanner.nextLine();

-----

// SQL 插入,将联系人信息插入到数据库

String sql = "INSERT INTO contact (Id, ***, ***, ***) VALUES (?,?,?,?)";

-----

//try - with - resources 语句来管理数据库资源

try (Connection connection = getConnection();  

   PreparedStatement preparedStatement = connection.prepareStatement(sql)) {     preparedStatement.setInt(1, id);

//为 PreparedStatement 对象的占位符设置实际的值

int rowsAffected = preparedStatement.executeUpdate();

-----

//执行 SQL 插入语句,并获取受影响的行数,存储在 rowsAffected 变量中

if (rowsAffected > 0) {//根据受影响的行数判断插入操作是否成功    

System.out.println("添加成功!");

} else {  

  System.out.println("添加失败!");

 catch (SQLException e) {     //SQLException 异常 捕获该异常

e.printStackTrace();  

  System.out.println("数据库操作失败!");

}

-----

以下基本按此操作可以完成基本的增删改查通讯录设定

(+其中可能需要加个标记,不难,可自行解决豁QAQ)

标签:JAVA,System,private,期末,通讯录,println,-----,id,out
From: https://blog.csdn.net/hjhfsdaf/article/details/144704632

相关文章

  • Java多态--上转型对象
    Java多态概念实现方式上转型对象概念多态:面向对象的三大特性之一多态一句话概括就是,一个类下面的不同子类的实例,对同一个参数输入,得到不同的输出举例:动物类下的小猫、小狗,两只动物分别拍一下,小猫输出“喵喵喵”,小狗输出“汪汪汪”。实现方式多态的方式:类的继承,方......
  • Java 变量和运算符
    Java变量和运算符1.变量(Variable)1.1何为变量1.2数据类型(DataTypes)1.2.1整型:byte、short、int、long1.2.2浮点类型:float、double1.2.3字符类型:char1.2.4布尔类型:boolean1.3变量的使用1.3.1步骤1:变量的声明1.3.2步骤2:变量的赋值1.4.基本数据类型变......
  • 直击要害!Java反序列化
                                 免责声明本系列工具仅供安全专业人员进行已授权环境使用,此工具所提供的功能只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用工具中的......
  • Java设计模式 —— 【结构型模式】组合模式(透明组合模式、安全组合模式)详解
    文章目录一、概述二、结构三、案例实现四、安全组合模式五、优缺点一、概述组合模式又名整体-部分模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形......
  • Java中的五种引用方式底层详解
        在GC算法的可达性算法中描述的对象引用,一般指的是强引用,即是GCRoot对象对普通对象有引用关系,只要这层关系存在,普通对象就不会被回收,而在Java中一共有五种引用关系。目录 强引用 (Strong Reference)软引用 (SoftReference)使用软引用实现简单缓存 一个实......
  • JAVA面向对象(二)封装
    数据的守护者封装是面向对象编程的重要特性之一,它将数据和操作数据的方法紧密地结合在一起,并对外部隐藏了数据的具体实现细节。这样做的好处是多方面的。一方面,它保护了数据的完整性。例如,在Person类中,如果我们直接将age成员变量暴露给外部,那么可能会出现不合理的赋值情况,比如设......
  • JavaDay2
    JavaDay2选择结构Switchpackageshujia.day02.ketang;importjava.util.Scanner;/*Switch选择语句:语句定义格式:switch(表达式){case常量值1:表达式1;break;case......
  • 【开源免费】基于SpringBoot+Vue.JS保密信息学科平台系统(JAVA毕业设计)
    本文项目编号T112,文末自助获取源码\color{red}{T112,文末自助获取源码}......
  • 【开源免费】基于SpringBoot+Vue.JS学生网上请假系统(JAVA毕业设计)
    本文项目编号T111,文末自助获取源码\color{red}{T111,文末自助获取源码}......
  • java反射详讲
    好的!以下是关于Java反射的详细讲解(约5000字左右)。内容包括基础概念、反射的优缺点、基本用法,以及典型案例。Java反射详解反射是Java中的一项强大机制,允许程序在运行时动态获取类的相关信息,并对其进行操作。这项特性使得Java程序具备了极大的灵活性,适用于框架开发、工......