Java学习Day9之数据库链接java

news2024/9/21 22:45:48
package aboutdb1;
import java.sql.*;
import java.util.Scanner;
public class newDBsystem {
    private static Connection getConnection() throws Exception {
        Class.forName("com.mysql.cj.jdbc.Driver"); // 加载MySQL JDBC驱动
        Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db1?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false",
                "root",
                "123456");// 使用DriverManager获取数据库连接
        return con;
        
    }
    static Scanner sc=new Scanner(System.in);
    //main主类控制执行顺序
    public static void main(String[] args)throws Exception {
        while (true){
            System.out.println("====数仓管理系统=====");
            System.out.println("1.增  2.删  3.改  4.查  5.退出 ");
            int number = sc.nextInt();
            if (number==1){
                addmodel();
            }
            if (number==2){
                delmodel();
            }
            if (number==3){
                updatamodel();
            }
            if (number==4){
                checkmodel();
            }
            if (number==5){
                break;
            }
        }
    }
    //添加功能
    public static void  addmodel() throws Exception {
        Connection con =getConnection();
        System.out.println("===插入界面===");
        System.out.print("id:");
        int id = sc.nextInt();
        System.out.print("name:");
        String name =sc.next();
        System.out.print("count:");
        int count = sc.nextInt();
        System.out.print("price:");
        int price = sc.nextInt();
        PreparedStatement ps =con.prepareStatement("insert into shoping (id,name,count,price) values(?,?,?,?)");
        // 创建PreparedStatement对象
        ps.setInt(1,id);
        ps.setString(2,name);
        ps.setInt(3,count);
        ps.setInt(4,price);
        ps.execute();
        System.out.println("插入成功");
    }
    //查看功能
    public static void  checkmodel() throws Exception {
        Connection con =getConnection();
        String sql = "SELECT * FROM shoping";
        PreparedStatement ps = con.prepareStatement(sql);
        ResultSet rs = ps.executeQuery();
        System.out.println("=================================");
        while (rs.next()) { // 遍历结果集
            // 使用rs.getXXX("columnName")方法获取每一列的值,并打印出来
            System.out.println("ID: " + rs.getInt("id") +
                    ", Name: " + rs.getString("name") +
                    ", count: " + rs.getInt("count") +
                    ", price: " + rs.getInt("price"));
        }
        ps.execute();
        System.out.println("=================================");
    }
    //删除功能
    public static void  updatamodel() throws Exception {
        Connection con =getConnection();
        System.out.println("===修改界面===");
        infoidname();
        System.out.print("请输入所要删除的数据对应id,以及其他字段想要修改的值:");
        System.out.print("id:");
        int id = sc.nextInt();
        System.out.print("其他字段的值:");
        System.out.print("name:");
        String name =sc.next();
        System.out.print("count:");
        int count = sc.nextInt();
        System.out.print("price:");
        int price = sc.nextInt();
        PreparedStatement ps =con.prepareStatement("update shoping set name =?,count =?,price=? where id=?");
        ps.setString(1,name);
        ps.setInt(2,count);
        ps.setInt(3,price);
        ps.setInt(4,id);
        int i=ps.executeUpdate();
        if (i>0){
            System.out.println("修改成功!");
        }
    }
    //修改功能
    public static void  delmodel() throws Exception {
        Connection con =getConnection();
        System.out.println("===删除界面===");
        System.out.print("请输入所要删除的数据对应id:");
        int id = sc.nextInt();
        PreparedStatement ps =con.prepareStatement("delete from shoping where id = ?");
        ps.setInt(1,id);
        ps.execute();
        System.out.println("删除成功");
    }
    //查看id及name
    public static void  infoidname() throws Exception {
        Connection con = getConnection();
        System.out.println("id及名称列表:");
        PreparedStatement ps=con.prepareStatement("select id from shoping");
        ResultSet resultSet = ps.executeQuery();
        while (resultSet.next()){
            System.out.print("id:"+resultSet.getInt("id"));
            System.out.print("       ");
        }
        System.out.println();
        PreparedStatement ps1=con.prepareStatement("select name from shoping");
        ResultSet resultSet1 = ps1.executeQuery();
        while (resultSet1.next()){
            System.out.print("name:"+resultSet1.getString("name"));
            System.out.print("   ");
        }
        System.out.println();

    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1935614.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿尔泰科技工业电脑IPC-8363工控机

概述: IPC-8363是一款支持 LGA 1200 Intel 10th/11th Generation Core™ i9/i7/i5/i3, Celeron and Pentium processor 的工业电脑。配置2组独立 SO-DIMM DDR4 2666/2933MHz内存,最大可扩展至128GB。 主要技术指标: 产品图示: 系…

php 小白新手从入门到精通教程(第3版)

前言 PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根…

qt初入门8:下拉框,输入框模糊查询,提示简单了解 (借助QCompleter)

实现一个简单的模糊查询的逻辑,输入框能提示相关项。 主要借助qt的QCompleter 类( Qt 框架中提供的一个用于自动补全和模糊搜索的类),结合一些控件,比如QComboBox和QLineEdit,实现模糊查询的功能。 1&…

在线实习项目|泰迪智能科技企业级项目学习,暑期大数据人工智能学习

在线实习介绍 实习时间:每个项目周期七周左右 面向对象:大数据、计算机相关专业学生;大三、大四毕业年度学生 在线实习收获 1、获得项目实战技能,积累项目经验 2、获得在线实习证明 项目特点…

能源化工5G防爆终端能给行业带来什么重要作用?

在能源化工领域,5G防爆终端的引入无疑为行业带来了革命性的变革与重要作用。这些集成了先进5G通信技术和防爆设计的高端设备,不仅提升了生产作业的安全性,还极大地增强了运营效率与智能化水平。 高速、低延迟的5G网络为防爆终端提供了前所未有…

安全防御2

实验要求: 实验过程: 7,办公区设备可以通过电信链路和移动链路上网(多对多的NAT,并且需要保留一个公网IP不能用来转换): 新建电信区: 新建移动区: 将对应接口划归到各自区域: 新建…

Java(二十二)---队列

文章目录 前言1.队列(Queue)的概念2.Queue的使用3.队列的模拟实现4.循环队列5.双端队列6.面试题[1. 用队列实现栈](https://leetcode.cn/problems/implement-stack-using-queues/description/)[2. 用栈实现队列](https://leetcode.cn/problems/implement-queue-using-stacks/de…

VPN以及GRE和MGRE

VPN VPN — 是虚拟专用网络 通俗地说,就是通过虚拟的手段,将两个独立的网络,穿越一个公共网络进行连接,实现点到点专线的效果(可以理解为:一个分公司通过公网和总公司建立点到点的专线连接) 现…

innovus:如何获取clock net的route_type和clock name

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 clock net的route type分为top trunk和leaf,net_type的设置方式见文章:

【06】LLaMA-Factory微调大模型——微调模型评估

上文【05】LLaMA-Factory微调大模型——初尝微调模型,对LLama-3与Qwen-2进行了指令微调,本文则介绍如何对微调后的模型进行评估分析。 一、部署微调后的LLama-3模型 激活虚拟环境,打开LLaMA-Factory的webui页面 conda activate GLM cd LLa…

汇编实验5

本实验在32位Linux虚拟机中完成(点击查看安装教程) 实验内容 二进制炸弹实际是由C语言源程序生成的可执行目标代码,主程序可参考bomb.c。运行时,会按次序提示用户输入3个不同的字符串。如果输入的字符串有误,炸弹就会…

结合金融场景的Scipy模块编程

结合金融场景的Scipy模块编程 数据链接:https://pan.baidu.com/s/1VMh8-4IeCUYXB9p3rL45qw 提取码:c6ys import numpy as np import pandas as pd import statsmodels import matplotlib.pyplot as plt from pylab import mpl mpl.rcParams[font.sans-se…

4 C 语言控制流与循环结构的深入解读

目录 1 复杂表达式的计算过程 2 if-else语句 2.1 基本结构及示例 2.2 if-else if 多分支 2.3 嵌套 if-else 2.4 悬空的 else 2.5 注意事项 2.5.1 if 后面不要加分号 2.5.2 省略 else 2.5.3 省略 {} 2.5.4 注意点 3 while 循环 3.1 一般形式 3.2 流程特点 3.3 注…

SaaS的“大模型焦虑”

随着大模型技术的兴起,SaaS行业正面临前所未有的机遇与挑战。本文深入剖析了SaaS厂商在AI化升级过程中的’大模型焦虑’,并探讨了如何通过战略性的AI应用找到自信,实现产品与服务的转型升级,为SaaS行业的AI之路提供了宝贵的思考与…

JVM之运行时数据区(一):程序计数器+本地方法栈

JVM之运行时数据区(一):程序计数器本地方法栈 1.运行时数据区概述2.程序计数器作用特点常见问题 3.本地方法接口本地方法本地接口 4.本地方法栈特点 1.运行时数据区概述 Java虚拟机定义了若干种程序运行期间会使用到的运行时数据区其中有一些…

昇思25天学习打卡营第30天 | MindNLP ChatGLM-6B StreamChat

今天是第30天,学习了MindNLP ChatGLM-6B StreamChat。 今天是参加打卡活动的最后一天,经过这些日子的测试,昇思MindSpore效果还是不错的。 ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,具有62亿参数,基于 …

业务系统核心模块资料访问性能优化实战

随着业务系统的云化转型不断推进,业务量呈现显著增长,对业务系统的性能和资源管理提出了更高要求。在这样的背景下,实现系统资源使用与性能指标的均衡成为保障生产系统高效稳定运行的核心任务。 在性能优化的范畴内,核心业务系统对…

Linux 10:进程信号

信号示例: 用户输入命令,在Shell下启动一个前台进程: 用户按[CtrlC],这个键盘输入产生一个硬件中断,被OS获取,解释成信号,发送给目标前台进程。前台进程因为收到信号,进而引起进程退出。 注意&…

2048小游戏,h5,纯前端

部分代码 //scorevar scoreSprite game.add.sprite(10, 10);var scoreGraphics game.add.graphics(0, 0);scoreGraphics.lineStyle(5, 0xA1C5C5);scoreGraphics.beginFill(0x308C8C);scoreGraphics.drawRoundedRect(0, 0, 70, 50, 10);scoreGraphics.endFill();scoreSprite.a…

端到端语音识别

端到端语音识别 一.端到端语音识别的动机 1.传统语音识别语言模型训练 2.传统语音识别缺点 流程复杂且繁琐: 传统的语音识别系统涉及的流程非常多且复杂,从数据准备、模型训练到最终的系统集成,每个步骤都需要仔细处理。入门门槛高&#x…