JDBC案例解析

JDBC从入门到精通 JDBC 概念 我们学习了数据库,数据库实现了数据的持久化,但我们最终要在程序里处理数据啊,那java代码中怎么去访问数据库读写数据呢? 这就要用到sun公司设定的一套数据库标准了,这套标准就是JDBC(Java Database Connectivity)。但它只是规范,不做具体实现。于是数据库厂商又根据JDBC标准,实现自家的驱动Driver。如:mysql驱动com.mysql.cj.jdbc.Driver,Oracle的驱动oracle.jdbc.OracleDriver。有了这套解决方案,java 阅读详情

直接上代码,关于JDBC的解释什么的可以从隔壁看看。

TestJDBC.java

package ggg;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class TestJDBC {
    private static String url = "jdbc:mysql://localhost:3306/mydb";
    private static String user = "root";
    private static String password = "123456";

    public static Connection getConnection() throws ClassNotFoundException, SQLException{
         Connection conn = null;
        //通过工具类获取连接对象
        Class.forName("com.mysql.jdbc.Driver");
        conn=DriverManager.getConnection(url, user, password);
     return conn;   
    }


    /**
     * 增加
     */
    public void testInsert(){
        Connection conn = null;
        Statement stmt = null;
        try {
            conn = getConnection();
            //3.创建Statement对象
            stmt = conn.createStatement();

            //4.sql语句
            String sql = "insert into student values(7,'杨九',74,86,98)";

            //5.执行sql
            int count = stmt.executeUpdate(sql);

            System.out.println("影响了"+count+"行");

        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally{
            //关闭资源
            if(stmt!=null)
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                    throw new RuntimeException(e);
                }
            if(conn!=null)
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                    throw new RuntimeException(e);
                }
            //JdbcUtil.close(conn, stmt);
        }
    }

     // 删除
    public void testDelete(){
        Connection conn = null;
        Statement stmt = null;
        try {
            conn = getConnection();
            //3.创建Statement对象
            stmt = conn.createStatement();

            //4.sql语句
            String sql = "delete from student where id=7";

            //5.执行sql
            int count = stmt.executeUpdate(sql);

            System.out.println("影响了"+count+"行");

        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally{
            //关闭资源
            if(stmt!=null)
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                    throw new RuntimeException(e);
                }
            if(conn!=null)
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                    throw new RuntimeException(e);
                }
            //JdbcUtil.close(conn, stmt);
        }
    }

    /**
     * 查询
     */

    public void testselect(){
        Connection conn = null;
        Statement stmt = null;
        try {
            conn = getConnection();
            //3.创建Statement对象
            stmt = conn.createStatement();

            //4.sql语句
            String sql = "select *from student";

            //5.执行sql
            ResultSet rs = stmt.executeQuery(sql);
            while(rs.next()){
                int id=rs.getInt("id");
                String name=rs.getString("name");
                int math=rs.getInt("math");
                int English=rs.getInt("English");
                int chinese=rs.getInt("chinese");
                System.out.println(id+"  "+name+"  "+math+"  "+English+"  "+chinese+"  ");
            }

        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally{
            //关闭资源
            if(stmt!=null)
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                    throw new RuntimeException(e);
                }
            if(conn!=null)
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                    throw new RuntimeException(e);
                }
            //JdbcUtil.close(conn, stmt);
        }
    }
    /**
     * 更新
    */
    public void testupdate(){
        Connection conn = null;
        Statement stmt = null;
        try {
            conn = getConnection();
            //3.创建Statement对象
            stmt = conn.createStatement();

            //4.sql语句
            String sql = "update student set name='马十' where id=2";

            //5.执行sql
            int count = stmt.executeUpdate(sql);

            System.out.println("影响了"+count+"行");

        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally{
            //关闭资源
            if(stmt!=null)
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                    throw new RuntimeException(e);
                }
            if(conn!=null)
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                    throw new RuntimeException(e);
                }
            //JdbcUtil.close(conn, stmt);
        }
    }
    }

sq l文件:


SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
--  Table structure for `student`
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(30) NOT NULL,
  `math` tinyint(4) default NULL,
  `English` tinyint(4) default NULL,
  `chinese` tinyint(4) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
--  Records 
-- ----------------------------
INSERT INTO `student` VALUES ('1','张三','68','88','90'), 
('2','李四','68','88','90'), ('3','王五','45','68','96'), 
('4','赵六','75','68','88'), ('5','钱七','78','68','80'), 
('6','吴八','77','88','99');
JAVA JDBC小例子 用的是mysql数据库,实现的是jdbc简单crud的实现,需要自己建数据库,不懂问我 立即下载

相关推荐

论文选题难?7种AI加持的万能选题法(全专业通用+工具实测)

AI时代学术选题新范式:7大智能方法破解研究痛点 传统选题方法面临范围失控、资料难寻、创新不足三大痛点,本文提出AI赋能的7种选题方法论: 1.现象+群体法:自动抓取热点与人群特征 2.理论+场景法:经典理论与新兴场景匹配 3.技术+问题法:前沿技术与领域痛点结合 4.对比+变量法:时空维度与变量关系分析 5.热点+理论法:事件传播与理论深挖融合 6.微调+变量法:已有选题变量置换创新 7.AI全流程法:关键要素智能迭代生成 同时警示AI使用的伦理边界,需规避虚构文献、伪造数据等风险,并提供针对本科生、研究

Conan_0728的博客 1882

jdbc经典教程+项目案例

1、本课程讲解了JDBC技术的基本技术以及statement、preparedstatement、对存储过程的调用、事物控制、批处理、处理结果、数据库连接池、代码生成器、元数据以及项目实战等经典案例; 2、本课程提供所有代码笔记素材以及其他相关资料

瑞萨CS+仿真器高级配置指南:从原理到实战优化RX系列MCU调试

在嵌入式系统开发中,仿真器是进行早期验证和深度调试的核心工具。它通过精确模拟目标微控制器的指令集、内存和外设行为,构建了一个虚拟的硬件沙盒环境。其工作原理在于对CPU核心、时钟系统和外设接口的软件模拟,使开发者能在无物理硬件时进行代码逻辑验证、内存布局规划和时序分析。这项技术的核心价值在于大幅降低开发成本、加速问题定位,并支持复杂场景的复现与测试。在瑞萨RX系列MCU开发中,CS+集成开发环境内置的仿真器功能尤为强大。本文聚焦于**指令解码缓存**和**外设时钟比率**等关键配置的深度解析,阐述如何通过优化

cmff98425的博客 1124

11.JDBC实例

JDBC实例1、建表语句:2、建立工程3、JDBC操作的对象(1)、Connection:数据库链接对象(2)、Statement:sql语句执行对象(3)、ResultSet:返回结果集对象(4)、PreparedStatement:预处理sql执行对象,是Statement的子接口预处理的优点:4、DAO开发模式:转注入数据访问层(1)、数据库链接工具类:Dbutils——负责链接数据库和关闭资源(2)、创建和数据库表对应的javabean对象(3)、创建接口,提供访问数据的方法(4)、创建接口的实现类

weixin_46048220的博客 1529

Win11 24H2共享访问被禁?深入聊聊SMB签名和‘不安全的来宾登录’那点事

本文深入解析Win11 24H2共享访问故障,探讨SMB签名的安全机制与‘不安全的来宾登录’问题。提供从注册表修改到组策略配置的多层次解决方案,特别针对家庭网络和打印机共享场景给出实用建议,帮助用户在安全与便利之间找到平衡。

weixin_42556197的博客 568

传感器融合的智能演进:ST-MC-Workbench中霍尔与编码器的协同控制策略

本文探讨了ST-MC-Workbench中霍尔传感器与编码器的协同控制策略,通过传感器融合技术提升电机控制精度。文章详细介绍了分层处理架构、霍尔安装角度优化及编码器Z脉冲容错机制,展示了在新能源汽车和工业应用中的实际效果,为高精度位置检测提供了解决方案。

weixin_29159441的博客 482

JDBC实现java数据库连接(附完整例子+超详细注解)

注重版权,转载请注明原作者和原文链接 作者:码农BookSea 原文链接:https://editor.youkuaiyun.com/md?articleId=105959128 本人刚写博客不久,是个新人,望大家能给予一些鼓励。 您的一个赞或者是评论区的一句话都将是对我最大的激励。 简单一句话先来了解下JDBC: JDBC(Java Data Base Connectivity,java数据库连接...

BookSea的博客 1万+

深入解析Unity3D中PostLateUpdate突然占用大量时间的原因

在Unity3D的生命周期中,是一个在LateUpdate之后被调用的方法。它通常用于处理一些需要在所有更新(包括物理更新和动画更新)之后进行的逻辑。由于它在游戏循环的后期阶段被调用,因此它通常用于处理与渲染直接相关的任务,如相机调整、UI更新等。突然占用大量时间的问题可能由多种原因引起,包括复杂的逻辑处理、频繁的资源加载、不恰当的渲染优化、插件或第三方库的副作用以及内存泄漏或垃圾回收等。为了解决这个问题,开发者需要仔细审查和优化中的代码,同时利用Unity提供的工具来监控和分析游戏性能。

Yori_22的博客 979

JDBC详细全解(示例超多)

JDBC ( Java DataBaseConnectivity java数据库连接)是一种用于执行SQL语句的Java API,本文详细讲解JDBC知识。

qq_54353206的博客 2万+

SIMetrix教程-001.SIMetrix软件简介与安装

  由于某些原因需要用到SIMetrix仿真软件,然而网上的资料并不是特别多,故在此记录一下这款仿真软件的学习过程,也给有需要的人提供一些参考,免走弯路。如果使用过Pspice或者LTspice软件,学习SIMetrix会很容易入门,仿真软件都是大同小异的,会一样后都可以快速入门其他软件。   SIMetrix是一款以SPICE模型为基础的仿真软件,集成了SIMetrix和SIMPLIS两款内核,为工程师提供了可靠的、易于使用的、并完美结合了速度与精度的电路仿真方式。官方的话不多说,和LTspice一样,优

gaoyong_wang的博客 2万+

eNSP与我这24H2版本不兼容,路由器40错误。这该怎么处理(操作系统-windows)(相关搜索:虚拟机)

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 4111

JDBC

JDBCJDBC概念使用JDBC的基本步骤详解各个对象JDBC 工具类构建 JDBC概念 JAVA Database Connectivity java 数据库连接 为什么会出现JDBC SUN公司提供的一种数据库访问规则、规范, 由于数据库种类较多,并且java语言使用比较广泛,sun公司就提供了一种规范,让其他的数据库提供商去实现底层的访问规则。 我们的java程序只要使用sun公司提供的jd...

Happy_Boy_z的博客 672

一篇文章带你快速入门 MATLAB

文章目录一、认识 MATLAB 界面二、MATLAB 的运行方式三、Matlab 中的窗口1. 命令窗口2. MATLAB的程序编辑窗口3. 工作空间窗口4. 命令历史窗口5. 图形窗口6. 当前目录窗口四、MATLAB的帮助系统1. 帮助命令2. 联机帮助五、其他知识补充1. MATLAB的搜索路径2. 变量命名规则3. M文件命名规则 一、认识 MATLAB 界面 在 MATLAB Desktop 中,工具条取代了菜单和工具栏。应用程序库收纳了 MATLAB 产品系列的应用程序,单一文件应用程序打包为一

南淮北安的博客 5128

Spring的JDBC的模板的使用(案例+解析

学习技术一定要制定一个明确的学习路线,这样才能高效的学习,不必要做无效功,既浪费时间又得不到什么效率,大家不妨按照我这份路线来学习。大家不妨直接在牛客和力扣上多刷题,同时,我也拿了一些面试题跟大家分享,也是从一些大佬那里获得的,大家不妨多刷刷题,为金九银十冲一波!《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!这份路线来学习。[外链图片转存中…(img-NTISQlBj-1711859873116)]

2401_83916241的博客 1190

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Spring的JDBC的模板的使用(案例+解析)

一、Spring的JDBC的模板 Spring是EE开发的一站式的框架,有EE开发的每一层的解决方案。Spring对持久层一提供了解决方案:ORM模块和JDBC的模板 1、Spring提供了很多的模板用于简化开发 2、JDBC模板使用的入门 (1)创建项目,引入jar 引入基本开发包 引入数据库驱动 Spring的JDBC模板的jar包 引入单元测试的包 Spring4在做IOC的开发的实现也需要引入aop的包 (2)创建数据库和表 create database spring4_tes

程序员猫爪 923

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

jsp+jdbc+mysql开发模式案例解析

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34411563的博客 295

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

spring整合JDBC 实现拦截器用户的登录和注册的案例源代码及解析

前言:为了大家学习的方便,我自己完成了一个登录注册的小案例供大家参考,如有疑问?请私信博主,小主辛苦总结,望大家转载请标明出处。 **项目介绍:**本项目使用的是spring整合jdbc实现用户的登录和注册,带前端页面以及验证码的功能实现登录使用maven管理jar包,使用mysql数据库,验证码使用的是拖动滑块实现的当前比较流行的验证码实现方式,在登录页面会显示当前访问页面的事件显示,当用户没有...

小徐的博客 1260

彻底掌握ShardingSphere-jdbc:实战指南与技巧解析

分片算法和阿里开源的数据库中间件 cobar 路由算法非常类似的。假设现在需要将订单表平均拆分到 4 个分库 shard0 ,shard1 ,shard2 ,shard3。首先将 [0-1023] 平均分为 4 个区段:[0-255],[256-511],[512-767],[768-1023],然后对字符串(或子串,由用户自定义)做 hash, hash 结果对 1024 取模,最终得出的结果slot落入哪个区段,便路由到哪个分库。

m0_65038841的博客 1204

Java学习教程,从入门到精通,JDBC 结果集(ResultSet)语法知识点及案例代码(94)

在 JDBC 中,`ResultSet` 对象用于表示数据库查询结果的表格数据。它提供了多种方法来遍历和访问查询结果中的每一行数据,是进行数据库查询操作的重要组件。

qq_45746668的博客 1457

JDBC笔记详解

文章目录一、前言二、JDBC本质理解1.什么是JDBC?2.JDBC的本质是什么?三、使用代码模拟JDBC本质四、JDBC编程六步骤1.注册驱动2.获取连接3.获取数据库操作对象4.执行sql语句5.处理查询结果集(第六章讲解)6.释放资源代码展示五、从配置文件中读取连接数据库信息六、处理查询结果集七、用户登录案例八、SQL注入现象及解决1.SQL注入现象2.导致SQL注入的根本原因3.解决SQL注入九、Statement和PreparedStatement对比十、JDBC事务自动提交机制十一、账户转账演示

保持学习 584

第一个JDBC案例

getInt(int i) i表示的是位置 getInt(String name) name表示的是字段名。isval为false,增加语句、修改语句、删除语句没有结果集。execute() 执行任意语句,返回true/false。jdbc:mysql://ip地址:端口号/数据库名。//4、释放资源(先创建,后关闭)

weixin_59334090的博客 490

JDBC核心实战案例

Java数据库连接核心代码,这一篇就够了。​ 文章适合于刚入行不久或即将开始学习JAVA的小伙伴,你将看到鲜活的真实错误案例、代码开发需求清单,还有学习的注意事项。 JDBC概述 主题 描述 JDBC概述 Java Database Connectivity的缩写,即JAVA数据库连接,规范客户端如何访问第三方数据库。(以下以JDBC_mysql代码为例) 学习资源路径 [视频教程,5个半小时]:https://www.bilibili.com/video/BV1Bt41137iB.

weixin_39986287的博客 287

Java学习42天--JDBC常见错误,PreparedStatement,综合案例

千锋逆战班:孙华建 在千锋学习第42天 “未来的你会感谢今天奋斗的自己” 今天我学习了java课程,JDBC常见错误,PreparedStatement,综合案例 #中国加油!武汉加油!千锋加油!也为自己加油!!!#… TestDql package t2.dql; import java.sql.Connection; import java.sql.DriverManager; import...

lucasshj的博客 648
上一篇: 配置maven的中央仓库mirro镜像
下一篇: JDBC之preparedStatement
broccoli2
博客等级 码龄10年 404粉丝 195原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值