JDBC简单使用

news2024/9/27 21:26:43

1. 首先导包,放在src -> lib下

在这里插入图片描述

打开项目结构,添加导入的包为库
在这里插入图片描述

基础语法

Statement statement = conn.createStatement();
----------------------------------------------
1.execute(String query)方法用来执行任意的SQL语句查询,如果查询的结果是一个ResultSet,这个方法就返回true,
    如果结果不是ResultSet,比如:insert或update,就会返回false.可以通过getResultSet方法来获取ResultSet2.executeQuery(String query)接口用来执行select查询,并返回ResultSet,
    即便查询不到记录,返回的ResultSet也不会为null.
3.executeUpdate(String query)方法用来执行insert,delete或者update语句,返回值是int类型,
    如果是DML语句,则是更新的条数,如果是DDL,则返回0

普通使用

private String connStr = "jdbc:mysql://localhost:3306/red1";
private String user = "root";
private String pwd = "123456";

//依赖
Class.forName("com.mysql.cj.jdbc.Driver");

//获得连接
Connection conn = DriverManager.getConnection(connStr, user, pwd);
Statement statement = conn.createStatement();
//sql语句
String sql="select * from table";

//执行查询操作
statement.execute(sql);


//关闭数据库连接
statement.close();
conn.close();

新增

    public void addKeShi(String str1, String str2) throws ClassNotFoundException, SQLException {
        //获得连接
        Connection conn = DriverManager.getConnection(connStr, user, pwd);
        Statement statement = conn.createStatement();
        //sql
        String sql = "INSERT INTO ke_shi(name,describe1) VALUES ('" + str1 + "','" + str2 + "')";
//        System.out.println(sql);
        int num = statement.executeUpdate(sql);
        if (num == 1) {
            System.out.println("科室新增成功\n");
        } else {
            System.out.println("科室新增失败,SQL语句为:" + sql + "\n");
        }
        //关闭数据库连接
        statement.close();
        conn.close();
    }

查询所有

    public List<KeShi> getAllKeShi() throws ClassNotFoundException, SQLException {
        //获得连接
        Connection conn = DriverManager.getConnection(connStr, user, pwd);
        Statement statement = conn.createStatement();
        //sql
        String sql = "SELECT * FROM ke_shi";
        ResultSet rs = statement.executeQuery(sql);
        List<KeShi> list = new ArrayList<>();
        KeShi keShi=null;
        while (rs.next()) {
            //获取当前记录中的数据
            //方法1. 通过字段索引获取id,列索引是从1开始的。
            int id = rs.getInt(1);
            String name = rs.getString(2);
            String describe = rs.getString(3);
            keShi=new KeShi(id,name,describe);
            list.add(keShi);
        }
        //关闭数据库连接
        statement.close();
        conn.close();
        return list;
    }

修改

    public void changeKeShiByID(int id, String str1, String str2) throws ClassNotFoundException, SQLException {
        //获得连接
        Connection conn = DriverManager.getConnection(connStr, user, pwd);
        Statement statement = conn.createStatement();
        //sql
        String sql = "UPDATE ke_shi SET  name='" + str1 + "',describe1='" + str2 + "' WHERE id = " + id;
//        System.out.println(sql);
        int num = statement.executeUpdate(sql);
        if (num == 1) {
            System.out.println("科室修改成功\n");
        } else {
            System.out.println("科室修改失败,SQL语句为:" + sql + "\n");
        }
        //关闭数据库连接
        statement.close();
        conn.close();
    }

删除

    public void deleteKeShiByID(int id) throws ClassNotFoundException, SQLException {
        //获得连接
        Connection conn = DriverManager.getConnection(connStr, user, pwd);
        Statement statement = conn.createStatement();
        //sql
        String sql = "DELETE FROM  ke_shi WHERE id =" + id;
//        System.out.println(sql);
        int num = statement.executeUpdate(sql);
        if (num == 1) {
            System.out.println("科室删除成功\n");
        } else {
            System.out.println("科室删除失败,SQL语句为:" + sql + "\n");
        }
        //关闭数据库连接
        statement.close();
        conn.close();
    }

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

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

相关文章

AcrelEMS-HIM高速公路综合能效系统在新晋高速公路快村营至营盘段项目的应用——安科瑞 顾烊宇

摘 要&#xff1a;我国新型工业化、信息化、城镇化和农业现代化加快发展&#xff0c;经济结构加快转型&#xff0c;交通运输总量将保持较快增长态势&#xff0c;各项事业发展要求提高国家公路网的服务能力和水平。高速公路沿线的收费站、互通枢纽、服务区、隧道等配置的供配电、…

2024Java85w字面试宝典+从入门到架构师的学习路线图+Java开发求职手册,我终于做出来了!

这几年中&#xff0c;我遇到了很多不同困境中的Java开发者&#xff0c;让我有了一个思考&#xff0c;在做教育这件事情上&#xff0c;我的目标是什么&#xff1f;为此&#xff0c;我思考了很久。 然后今年有很多的粉丝或者一些学员来找我&#xff0c;说今年的面试很困难&#…

【工作流Activiti】MyActivit的maven项目

1、Idea新建一个项目MyActivit的maven项目 2、安装插件 在 idea 里面&#xff0c;activiti 的插件叫 actiBPM&#xff0c;在插件库里面把它安装好&#xff0c;重启 idea 就行了。 3、 maven 项目中&#xff0c;并更改 pom.xml。pom 中依赖如下&#xff1a; <?xml version…

C#中的协变和逆变

这两个都是只能使用在接口和委托上 个人理解&#xff1a; 协变&#xff1a;出参&#xff0c;让基类使用范围变大&#xff0c;将父类/基类当作子类一样使用 --为什么这样规定呢&#xff1f; 我的理解&#xff1a;真正实现的是子类&#xff0c;子类拥有所有的方法&#xff0c;却…

pytorch网络的增删改

本文介绍对加载的网络的层进行增删改, 以alexnet网络为例进行介绍。 1. 加载网络 import torchvision.models as models alexnet models.alexnet(weightsmodels.AlexNet_Weights.DEFAULT) print(alexnet)2. 删除网络 在做迁移学习的时候&#xff0c;我们通常是在分类网络的…

安全狗waf

安全狗waf安装 1、先将phpstudy 以管理员身份运行&#xff0c;将运行模式修改为 “系统服务”&#xff0c;点击“应用”。 2、下载安全狗&#xff0c;安全狗-领先云安全服务与解决方案提供商|云原生安全|服务器安全|网站安全|态势感知 3、安装安全狗&#xff0c;以管理员身份运…

python调取一欧易API并写一个比特币均线交易策略

比特币均线交易策略是一种基于比特币价格的移动均线的交易策略。它通过计算不同时间段的移动均线来确定买入和卖出点。 具体步骤如下&#xff1a; 确定要使用的均线。常用的均线包括5日、10日、20日、50日和200日均线。较短的均线可以更快地反应价格变动&#xff0c;而较长的均…

探秘 AJAX:让网页变得更智能的异步技术(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

AcWing算法提高课-4.1.2搭配购买

算法提高课整理 CSDN个人主页&#xff1a;更好的阅读体验 原题链接 题目描述 Joe觉得云朵很美&#xff0c;决定去山上的商店买一些云朵。 商店里有 n n n 朵云&#xff0c;云朵被编号为 1 , 2 , … , n 1,2,…,n 1,2,…,n&#xff0c;并且每朵云都有一个价值。 但是商店…

机器学习——主成分分析(PCA)

今天由我来向大家何为PCA算法及如何实现&#xff0c;PCA算法是无监督方法的典型&#xff0c;在此之前我们先来了解有监督学习、无监督学习以及半监督学习的区别。 一、有监督学习、无监督学习、半监督学习的区别 1. 有监督学习 监督学习是从标记的训练数据来推断一个功能的机…

C语言——小细节和小知识5

一、某些预处理指令 #ifdef #else #endif 这三个预处理指令用于条件编译&#xff0c;#ifdef用于判断某个宏是否被定义过&#xff0c;#endif用于结束#ifdef的作用范围&#xff0c;例如&#xff1a; #include <stdio.h>#define MAX 10int main() { #ifdef MAXprintf(&…

基于JAVA的无代码动态表单系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 动态类型模块2.2 动态文件模块2.3 动态字段模块2.4 动态值模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 动态类型表3.2.2 动态文件表3.2.3 动态字段表3.2.4 动态值表 四、系统展示五、核心代码5.1 查询档案类型5.…

OpenHarmony鸿蒙原生应用开发,ArkTS、ArkUI学习踩坑学习笔记,持续更新中。

一、AMD处理器win10系统下&#xff0c;DevEco Studio模拟器启动失败解决办法。 结论&#xff1a;在BIOS里面将Hyper-V打开&#xff0c;DevEco Studio模拟器可以成功启动。 二、ArkTS自定义组件导出、引用实现。 如果在另外的文件中引用组件&#xff0c;需要使用export关键字导…

Educational Codeforces Round 160 (Rated for Div. 2)

Educational Codeforces Round 160 (Rated for Div. 2) Educational Codeforces Round 160 (Rated for Div. 2) A. Rating Increase 题意&#xff1a;给定一个由数字字符组成的字符串&#xff0c;且无前导零&#xff0c;将其分割成ab两部分&#xff0c;b不能有前导零&#x…

制造企业可以通过哪些措施改善设备OEE

设备综合效率OEE&#xff08;Overall Equipment Effectiveness&#xff09;是制造企业衡量设备效率的关键指标之一。高效的设备运行对于提高生产效率、降低成本和实现竞争优势至关重要。然而&#xff0c;实现高水平的设备OEE并不是一项简单的任务。本文将介绍一些制造企业可以采…

Linux I/O神器之io_uring

io_uring 是 Linux 于 2019 年加入到内核的一种新型异步 I/O 模型&#xff0c;io_uring 主要为了解决 原生AIO&#xff08;Native AIO&#xff09; 存在的一些不足之处。下面介绍一下原生 AIO 的不足之处&#xff1a; 系统调用开销大&#xff1a;提交 I/O 操作和获取 I/O 操作…

共享中药房新突破:亿发打造专业调度与强兼容性的智慧煎药平台

随着共享中药房、智能煎药中心等中医药信息化业务的蓬勃发展&#xff0c;越来越多的医疗机构开始引入自动化设备&#xff0c;将其应用到实际的生产环节中&#xff0c;以辅助或部分替代传统的人工操作。这种自动化设备需要通过智能配方煎药管理系统作为系统平台来进行对接和集成…

在统信UOS操作系统1060上如何部署DNS服务器?01

原文链接&#xff1a;在统信UOS操作系统1060上如何部署DNS服务器&#xff1f;01 hello&#xff0c;大家好啊&#xff01;今天我要给大家带来的是在统信UOS操作系统1060上部署DNS服务器系列的第一篇文章。在这个系列中&#xff0c;我们将一步步搭建一个完整的DNS服务器环境。而今…

docker小白第六天

docker小白第六天 容器数据卷是什么 首先&#xff0c;容器卷有个坑&#xff1a;容器卷需要加入privilegedtrue&#xff0c;如下图所示&#xff0c;是为了解决permission denied的问题。其中“挂载”的意思是相当于一个硬盘插到主机上。使用该命令。是扩大容器的权限解决挂载目…

FA2016AS (MHz范围晶体单元,内置热敏电阻)

FA2016AS晶振是爱普生推出的一款频率范围为38.4MHz 的石英晶体谐振器&#xff0c;内置热敏电阻&#xff0c;小体积贴片(2.0 1.6 0.65 mm&#xff09;&#xff0c;具有小型超薄、稳定性好、具备优良的耐环境特性及高耐热性强.满足无铅焊接的回流温度曲线要求的特点。该款无源晶…