第十七章 数据库操作
数据库基础 和JDBC概论和常用类和接口就不过多的说了 直接来到 数据库的操作 一开始是在数据库中插入了四个类型 两个int 两个varchar类型 再分别插入 名字 序号 号码 性别 然后再在java中操作增删改查 这几个操作 全部代码如下
package 第十七章;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.cj.jdbc.Driver;
public class MysqlDemo1 {
Connection connection;
public static void main(String[] args) throws SQLException {
// TODO Auto-generated method stub
MysqlDemo1 mysqldemo1 = new MysqlDemo1();//new对象 调用方法
mysqldemo1.getConnection();
System.out.println("查询人员数据,结果为:");
mysqldemo1.selectAll();
System.out.println("新增人员数据,结果为:");
mysqldemo1.add(11, "lanyangyang"," 17923412644","nan");
mysqldemo1.add(12, "meiyangyang"," 17977556644","nv");
mysqldemo1.add(13, "feiyangyang"," 11971236644","nan");
mysqldemo1.selectAll();
System.out.println("查询182开头的数据,结果为:");
mysqldemo1.obscure();//查询课程表中的数据
System.out.println("修改指定5位置上的电话号码");
mysqldemo1.update(5,"13124235300");//修改该位置的数据
mysqldemo1.selectAll();
System.out.println("查询性别为nan的数据");
mysqldemo1.man("nan");
System.out.println("修改指定10位置上的名字");
mysqldemo1.updatedate(10,"dashuaige");//修改该位置的数据
mysqldemo1.selectAll();
System.out.println("查询179开头的数据,结果为:");
mysqldemo1.obscure1();//查询课程表中的数据
mysqldemo1.selectAll();
System.out.println("删除课程11,12,13");
mysqldemo1.delete("11");//删除指定位置的数据
mysqldemo1.delete("12");//删除指定位置的数据
mysqldemo1.delete("13");//删除指定位置的数据
mysqldemo1.selectAll();
System.out.println("查询性别为woman的数据");
mysqldemo1.man("nv");
}
public void woman(String name ) throws SQLException {//查询性别为女的数据
PreparedStatement preparedstatement =connection.prepareStatement("select*from sudent where sex = ?;");
preparedstatement.setString(1, name);
ResultSet resultSet =preparedstatement.executeQuery() ;
while(resultSet.next()) {
System.out.print(resultSet.getInt("id")+" ");
System.out.println(resultSet.getString("name"));
System.out.println(resultSet.getString("tel"));
System.out.println(resultSet.getString("sex"));
}
preparedstatement.close();
}
public void delete(String id) throws SQLException {//删除指定位置上的数据
PreparedStatement preparedStatement = connection.prepareStatement("delete from sudent where id = ?;");
preparedStatement.setString(1, id);//
//第四步 :执行SQL语句
preparedStatement.executeUpdate();
//第六步关闭接连释放资源
preparedStatement.close();
}
public void obscure1() throws SQLException {//查询号码为179开头的号码
PreparedStatement preparedstatement=connection.prepareStatement("select*from sudent where tel like'179%';");
ResultSet resultSet = preparedstatement.executeQuery();//executeQuery只能用来查询 //新增修改删除都是使用另一种e
//第五步:遍历结果集
while(resultSet.next()) {
System.out.print(resultSet.getInt("id")+" ");
System.out.println(resultSet.getString("name")+" ");
System.out.println(resultSet.getString("tel")+" ");
System.out.println(resultSet.getString("sex")+" ");
}
preparedstatement.close();
}
public void updatedate(int id,String name) throws SQLException {//修改指定位置上的数据
PreparedStatement preparedstatement =connection.prepareStatement("update sudent set name=? where id=? ; ");
preparedstatement.setString(1, name);
preparedstatement.setInt(2, id);
//第四步: 执行SOL语句
preparedstatement.executeUpdate();
//第六步: 关闭连接释放资源
preparedstatement.close();
}
public void man(String name ) throws SQLException {//查询性别为男的数据
PreparedStatement preparedstatement =connection.prepareStatement("select*from sudent where sex = ?;");
preparedstatement.setString(1, name);
ResultSet resultSet =preparedstatement.executeQuery() ;
while(resultSet.next()) {
System.out.print(resultSet.getInt("id")+" ");
System.out.println(resultSet.getString("name"));
System.out.println(resultSet.getString("tel"));
System.out.println(resultSet.getString("sex"));
}
preparedstatement.close();
}
public void update(int id,String tel) throws SQLException {//修改指定位置上的号码
PreparedStatement preparedstatement =connection.prepareStatement("update sudent set tel=? where id=? ; ");//修改语句
preparedstatement.setString(1, tel);//tel 电话
preparedstatement.setInt(2, id);//id 序号
//第四步: 执行SOL语句
preparedstatement.executeUpdate();
//第六步: 关闭连接释放资源
preparedstatement.close();
}
public void obscure() throws SQLException {//使用mysql模糊查询来查询以182开头的数据
PreparedStatement preparedStatement=connection.prepareStatement("select*from sudent where tel like'182%'");//使用的是mysql中的模糊查询语句
ResultSet resultSet = preparedStatement.executeQuery();//executeQuery只能用来查询 //新增修改删除都是使用另一种e
//第五步:遍历结果集
while(resultSet.next()) {使用while循环来遍历表中四个类型
System.out.print(resultSet.getInt("id")+" ");//id 序号
System.out.println(resultSet.getString("name"));//name 名字
System.out.println(resultSet.getString("tel"));//tel //电话
System.out.println(resultSet.getString("sex"));//sex //性别
}
}
public void add(int id ,String name,String tel , String sex) throws SQLException {//add添加数据
PreparedStatement preparedStatement=connection.prepareStatement("insert into sudent values (?,?,?,?);");//向mysql数据库中指定的sudent表中添加数据
preparedStatement.setInt(1, id);//添加id 序号
preparedStatement.setString(2,name);//添加name//名字
preparedStatement.setString(3,tel);//添加电话
preparedStatement.setString(4,sex);//添加性别
preparedStatement.executeUpdate();
//第六步关闭接连释放资源
preparedStatement.close();
}
public void getConnection () throws SQLException{//注册驱动 连接mysql数据库 并遍历出表中的数据
//第一步注册驱动
DriverManager.registerDriver(new Driver());//注册驱动
//第二步获取连接
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/school_java","root","1234");//使java连接mysql数据库然后连接本地服务器 指定数据库和账号密码
}
public void selectAll() throws SQLException {//查询类 查询数据表中的数据
//第三步:获取statement对象
PreparedStatement preparedStatement=connection.prepareStatement("select * from sudent;");//查询语句
//第四步:执行SQL语句返回结果集
ResultSet resultSet = preparedStatement.executeQuery();//executeQuery只能用来查询 新增修改删除都是使用另一种executeUpdate
//第五步:遍历结果集
while(resultSet.next()) {//while循环数据库中的四个类型 id name tel sex 分别是 序列 名字 电话号码 和性别
System.out.print(resultSet.getInt("id")+" ");
System.out.println(resultSet.getString("name"));
System.out.println(resultSet.getString("tel"));
System.out.println(resultSet.getString("sex"));
}
//第六步:关闭连接释放资源
resultSet.close();//关闭连接释放资源
preparedStatement.close();
}
public void close() throws SQLException {
connection.close();//最后关闭连接释放资源
}
}
全部代码如上所示 接下来是详细的讲解
连接数据库
主要是分为六个部分
第一步注册驱动
第二步获取连接
第三步:获取statement对象
第四步:执行SQL语句返回结果集
第五步:遍历结果集
第六步:关闭连接释放资源
然后呢 代码和注解如下
public void getConnection () throws SQLException{//注册驱动 连接mysql数据库 并遍历出表中的数据
//第一步注册驱动
DriverManager.registerDriver(new Driver());//注册驱动
//第二步获取连接
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/school_java","root","1234");//使java连接mysql数据库然后连接本地服务器 指定数据库和账号密码
}
public void selectAll() throws SQLException {//查询类 查询数据表中的数据
//第三步:获取statement对象
PreparedStatement preparedStatement=connection.prepareStatement("select * from sudent;");//查询语句
//第四步:执行SQL语句返回结果集
ResultSet resultSet = preparedStatement.executeQuery();//executeQuery只能用来查询 新增修改删除都是使用另一种executeUpdate
//第五步:遍历结果集
while(resultSet.next()) {//while循环数据库中的四个类型 id name tel sex 分别是 序列 名字 电话号码 和性别
System.out.print(resultSet.getInt("id")+" ");
System.out.println(resultSet.getString("name"));
System.out.println(resultSet.getString("tel"));
System.out.println(resultSet.getString("sex"));
}
//第六步:关闭连接释放资源
resultSet.close();//关闭连接释放资源
preparedStatement.close();
}
以上代码是 让java连接数据 然后遍历出指定的表中的内容 然后再主函数中new一个对象然后调用该方法就可以输出表中的内容
模糊查询
再是使用mysql数据库中的模糊查询 达到输入开头的号码如:182来查询号码182开头的号码的员工
代码如下
public void obscure() throws SQLException {//使用mysql模糊查询来查询以182开头的数据
PreparedStatement preparedStatement=connection.prepareStatement("select*from sudent where tel like'182%'");//使用的是mysql中的模糊查询语句
ResultSet resultSet = preparedStatement.executeQuery();//executeQuery只能用来查询 //新增修改删除都是使用另一种e
//第五步:遍历结果集
while(resultSet.next()) {使用while循环来遍历表中四个类型
System.out.print(resultSet.getInt("id")+" ");//id 序号
System.out.println(resultSet.getString("name"));//name 名字
System.out.println(resultSet.getString("tel"));//tel //电话
System.out.println(resultSet.getString("sex"));//sex //性别
}
}
然后再主函数中调用该方法就可以打印输出了
增删改
增删改都是使用mysql数据库中的语句
主要如下 代码注解
删除
public void delete(String id) throws SQLException {//删除指定位置上的数据
PreparedStatement preparedStatement = connection.prepareStatement("delete from sudent where id = ?;");
preparedStatement.setString(1, id);//
//第四步 :执行SQL语句
preparedStatement.executeUpdate();
//第六步关闭接连释放资源
preparedStatement.close();
}
修改
public void updatedate(int id,String name) throws SQLException {//修改指定位置上的数据
PreparedStatement preparedstatement =connection.prepareStatement("update sudent set name=? where id=? ; ");
preparedstatement.setString(1, name);
preparedstatement.setInt(2, id);
//第四步: 执行SOL语句
preparedstatement.executeUpdate();
//第六步: 关闭连接释放资源
preparedstatement.close();
}
添加
public void add(int id ,String name,String tel , String sex) throws SQLException {//add添加数据
PreparedStatement preparedStatement=connection.prepareStatement("insert into sudent values (?,?,?,?);");//向mysql数据库中指定的sudent表中添加数据
preparedStatement.setInt(1, id);//添加id 序号
preparedStatement.setString(2,name);//添加name//名字
preparedStatement.setString(3,tel);//添加电话
preparedStatement.setString(4,sex);//添加性别
preparedStatement.executeUpdate();
//第六步关闭接连释放资源
preparedStatement.close();
}
然后再在主函数中调用就好了
相关文章:
第十七章 数据库操作
数据库基础 和JDBC概论和常用类和接口就不过多的说了 直接来到 数据库的操作 一开始是在数据库中插入了四个类型 两个int 两个varchar类型 再分别插入 名字 序号 号码 性别 然后再在java中操作增删改查 这几个操作 全部代码如下 package 第十七章; import j…...
RTI-DDS代码分析使用介绍
DDS(Data Distribution Service数据分发服务)是对象管理组织OMG的有关分布式实时系统中数据发布的规范。 DDS规范采用了发布/订阅体系结构,但对实时性要求提供更好的支持。DDS是以数据为中心的发布/订阅通信模型。 以下工程基于rti_connext_dds-7.2.0 hello_world.…...
ant-design-vue 3 a-table保留选中状态
业务需求需要保留选中状态 <a-table class"satistic-table" :row-selection"{ selectedRowKeys: selectedRowKeys, onSelect:onSelect,onSelectAll:onSelectAll }" :row-key"(row)>{ return row.customerId}" :columns"columns"…...
golang 工程组件:grpc-gateway option自定义http规则
option自定义http规则和http body响应 简介 本篇接上文 golang 工程组件:grpc-gateway 环境安装默认网关测试 默认网关配置终究是难用,本篇介绍一下proto里采用option自定义http规则以及让网关返回http响应而不是我们定义的grpc响应 option定义http…...
亚马逊添加购物车和收藏有什么区别
亚马逊的添加购物车和收藏是两个不同的功能,它们在用户行为和用途上有明显的区别: 1、添加购物车(Add to Cart): 当用户点击"添加到购物车"按钮时,所选商品将被放入他们的购物车,而…...
JAVA-编程基础-11-03-java IO 字节流
Lison <dreamlison163.com>, v1.0.0, 2023.05.07 JAVA-编程基础-11-03-java IO 字节流 文章目录 JAVA-编程基础-11-03-java IO 字节流字节输出流(OutputStream)FileOutputStream类**FileOutputStrea 的构造方法**使用文件名创建FileOutputStream…...
python之Cp、Cpk、Pp、Ppk
目录 1、Cp、Cpk、Pp、Ppk 2、python计算 1、Cp、Cpk、Pp、Ppk Cp Process Capability Ratio 可被译为“过程能力指数” Cpk Process Capability K Ratio 可被译为“过程能力K指数” Pp Process Performance Ratio 可被译为“过程绩效指数” Ppk Process Performance K Ra…...
统信uos 1030 企业版 安装.net core环境
安装.net core步骤 添加密钥和包存储库 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-mic…...
2023/10/23学习记录
1.VS2019中sln对应解决方案 修改sln的文件名,对应的解决方案名称也会变化。 2.如何修改生成的exe文件名呢? 属性--->杂项--->(名称) 3.这是任务管理器,这里红色部分显示的是“这是文件描述”。 当通过属性查看详细信息的时…...
flask入门(四)前后端数据传输
文章目录 1、flask后端接收来自前端的数据1)如果前端提交的方法为POST2)如果前段提交的方法是GET 2、flask后端向前端传数据3、案例参考文献 1、flask后端接收来自前端的数据 1)如果前端提交的方法为POST 后端接收时的代码: xx…...
JS——垃圾回收的原理
引言 JavaScript是一种高级的、解释型的编程语言,广泛应用于网页开发和移动应用开发中。在JavaScript中,内存管理是一个重要的话题,而垃圾回收就是内存管理的一部分。本文将介绍JavaScript垃圾回收的原理,并提供一些示例代码来帮助…...
Spring Cloud Gateway 路由构建器的源码分析
Spring Cloud Gateway 路由构建器的源码分析 文章目录 1. 路由构建器的入口2. 创建路由规则3. 设置路由规则和属性4. 路由过滤器的设置5. 构建和获取路由规则:6. 实例化路由构建器:8. 路由构建器的源码分析8.1 RouteLocator接口8.2 RouteLocatorBuilder…...
IT行业哪个方向比较好就业?
IT行业哪个方向比较好就业? IT行业里,哪些方向更好就业,这是一个很常见也很重要的问题。不同的IT方向有不同的技能要求、就业前景和发展空间,因此需要根据自己的兴趣、能力和目标来选择合适的方向。 软件开发与工程:软件开发是…...
uniapp中nvue页面使用fixed后,数据更改不更新到该视图。
解决方案:position: fixed;定位改成position: absolute; 记录一下,遇到这个贼离谱的问题,uniapp项目里的nvue页面因为要弄个引导蒙版,所以使用了fixed定位,点击蒙版关闭,加了this.$forceUpdate()也不行&am…...
力扣第55题 跳跃游戏 c++ 贪心 + 覆盖 加暴力超时参考
题目 55. 跳跃游戏 中等 相关标签 贪心 数组 动态规划 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true &…...
系列十四、Redis的集群(一)
一、是什么 1.1、概述 由于数据量过大,单个master-slave模式难以承担,当出现master节点故障的一瞬间,哨兵重新选举新的master节点之前,这一小段时间将会导致Redis服务不可用,因此需要对多个master-slave主从复制集进行…...
红帽认证 | RHCE考试包括哪些内容?
Red Hat Certified Engineer(RHCE)考试是一项面向企业级系统管理员的认证考试,是认证Linux系统管理员技能的一种方式。 RHCE证书是Linux管理员领域中最受欢迎和最受认可的证书之一。 那RHCE考试都有哪些内容呢,一起来看看吧&…...
ASPICE标准快速掌握「3.1. 实践示例」
实践示例 本章内容是最重要的,建议慢下来跟着博主的思路一步一步前进 1. 示例背景说明 假设我们现在是一个Tier1的车窗控制软件开发商,我们给OEM提供软件解决方案 1.1. 本过程目标 根据客户、上级部门、安全团队与质量团队等提出的要求,本项目要求SYS.1过程达到ASPICE过…...
pytorch 训练可视化
pytorch 训练可视化 1.from torch.utils.tensorboard 1.from torch.utils.tensorboard from torch.utils.tensorboard import SummaryWriter在最新版本的pytorch中官方提供了tensorboard的api。以下是官方教程的链接 https://pytorch.org/tutorials/intermediate/tensorboard…...
webgis开发参考资料
一、ArcGIS相关 1、ArcGIS for Server 10.3.X 新型紧凑型缓存的解读和应用 http://zhihu.geoscene.cn/article/1038 2、arcgis server 紧促(bundle)格式缓存文件的读取 https://blog.csdn.net/abc553226713/article/details/8668839 3、ArcGIS 10.0紧…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
