JDBC*
*JDBC数据库连接步骤
1.将JDBC驱动的jar添加到项目的依赖中。
2.加载JDBC驱动
例如: Class.forName("com.mysql.jdbc.Driver");
3.连接数据库
例如:
Connection con = DriverManager.getConnection(URL,username,password);
4.获取Statement【PreparedStatement】对象,执行SQL语句
例如:
String sql = "SELECT * FROM `stu`";
Statement stm = con.createStatement();
ResultSet rs= stm.executeQuery(sql);
例如:
String sql = "SELECT * FROM `user` WHERE `username` = ? AND `password` = ?";
PreparedStatement pstm = con.prepareStatement(sql);
pstm.setObject(1,username);
pstm.setObject(2,password);
ResultSet rs= pstm.executeQuery();
5.处理结果
例如:List<Student> studentList = new ArrayList<>();
while(rs.next()){
Student student = new Student();
student.setSid(rs.getString("sid"));
student.setSname(rs.getString("sname"));
student.setAge(rs.getInt("age"));
student.setGender(rs.getString("gender"));
studentList.add(student);
}
6.释放资源
注意:SQL对象资源如IO对象资源一样,不会被垃圾回收器回收。
*JDBC-API
- DriverManger(驱动管理器)的作用有两个:
> 1. 注册驱动:这可以让JDBC知道要使用的是哪个驱动;
> 2. 获取Connection:如果可以获取到Connection,那么说明已经与数据库连接上了。
- Connection对象表示连接,与数据库的通讯都是通过这个对象展开的.
> 1.负责Java程序与Mysql数据库之间的数据传输(通讯)
-- Statement是用来向数据库发送SQL语句的,这样数据库就会执行发送过来的SQL语句:
>1. int executeUpdate(String sql):执行更新操作(insert、update、delete等);
>2. ResultSet executeQuery(String sql):执行查询操作,数据库在执行查询后会把查询结果,查询结果就是ResultSet;
- ResultSet对象表示查询结果集,只有在执行查询操作后才会有结果集的产生。
结果集是一个二维的表格,有行有列。操作结果集要学习移动ResultSet内部的“行光标”,
以及获取当前行上的每一列上的数据:
>1. boolean next():使“行光标”移动到下一行,并返回移动后的行是否存在;
>2. XXX getXXX(int col):获取当前行指定列上的值,参数就是列数,列数从1开始,而不是0。
-PreparedStatement的使用
>1. 使用Connection的prepareStatement(String sql):即创建它时就让它与一条SQL模板绑定;
>2. 调用PreparedStatement的setXXX()系列方法为问号设置值
>3. 调用executeUpdate()或executeQuery()方法,但要注意,调用没有参数的方法;
优点:
- 防止SQL攻击;
- 提高代码的可读性,以可维护性;
- 提高效率。
相关文章:
JDBC*
*JDBC数据库连接步骤 1.将JDBC驱动的jar添加到项目的依赖中。 2.加载JDBC驱动 例如: Class.forName("com.mysql.jdbc.Driver"); 3.连接数据库 例如: Connection con DriverManager.getConnection(URL,us…...
Zookeeper注册中心实战
Java学习手册面试指南:https://javaxiaobear.cn Spring Cloud Zookeeper通过自动配置和绑定到 Spring 环境和其他 Spring 编程模型习惯用法,为 Spring Boot 应用程序提供Apache Zookeeper集成。通过一些简单的注释,您可以快速启用和配置应用…...
1-02VS的安装与测试
一、概述 对于一名C语言程序员而言,进行C语言程序的开发一般需要一个文本编辑器加上一个编译器就足够了。但为了方便起见,我们选择使用集成开发环境——Visual Studio(简称VS)。安装Visual Studio 下面讲一下如何安装VS࿰…...
ctfshow——PHP特性
文章目录 web 89web 90web 91web 92web 93web 94web 95web 96web 97web 98web 99web 100——优先级、eval()用法web 101——RefelctionClass反射类web 102——php伪协议、hex2bin()web103web 104——sha1绕过web 105 web 89 使用人工分配 ID 键的数值型数组绕过preg_match. 两个…...
K8S陈述式资源管理
陈述式 命令行:kubectl命令行工具 优点:90%以上的场景都可以满足,对增,删,查比较方便,对改不是很友好 缺点:命令比较冗长,复杂,难记 声明式 k8s当中的yaml文件来实现资…...
详解Python内置函数 !!!
内置函数就是Python给你提供的, 拿来直接用的函数,比如print,input等。 文章目录 前言 一、和数字相关 1. 数据类型 2. 进制转换 3. 数学运算 二、和数据结构相关 1. 序列 2. 数据集合 3. 相关内置函数 三、和数据结构相关 四、和迭代器生成器相关 五、字…...
使用Vue3 + Vite创建uni-app项目(Webstorm)
使用Vue3 Vite创建uni-app项目(Webstorm) 参考:前端VUE3Vite UniAPP-- 框架搭建_uniapp vite-CSDN博客 // 参考github.com的库:https://github.com/dcloudio/uni-preset-vue npx degit dcloudio/uni-preset-vue#vite-ts vite-vu…...
【js】js实现多个视频连续播放:
文章目录 一、效果:二、实现:三、案例: 一、效果: 二、实现: <!DOCTYPE html> <html> <head><title>Video Player</title><style>#progressBar { width: 800px;height: 20px;b…...
使用openssl 生成pfx格式证书时报错:unable to load certificates
问题现象包如下: 之前在centos上使用openssl部署证书服务器以及颁发证书的时候遇到的问题,在进行个人证书生成之后需要形成pfx格式证书,结果过程中报错了。网上类似资料比较少,做个记录。 生成pfx格式证书的命令: o…...
微信小程序 分享按钮 监听用户分享成功
代码 <view><button class"btnLq ed flex justify-center" open-type"share" click"getAward">点击分享</button> </view>export default {data(){return{shareMd:false,//分享埋点}},onShow(){//if(this.shareMd){uni.…...
数据结构-怀化学院期末题
题目: 利用希尔排序算法实现线性表的排序。希尔排序是根据给定的增量序列将线性表分隔成某个“增量”的记录组成一个子序例,在子序列中采用直接插入排序完成。 输入 第一行为元素个数n(1<n<1000),第二行为n个元素值(整数),即…...
跟cherno手搓游戏引擎【1】:配置与入口点
环境配置: 编译环境:VS2019 创建两个项目: 设置Sandbox为启动项: 设置sandbox的配置属性-常规-输出目录\中间目录为如下: 预处理定义:为了配置一些只有windows才能用的函数。 设置YOTOEngin(我…...
25计算机专业考研经验贴之准备篇
Hello各位小伙伴,大家新年好! 马上就要进入寒假假期了,25考研也该提上日程了。今天先跟大家分享一下大家在假期可以先做起来的准备工作。 【选择学校】 择校是个非常重要的内容,因为不同学校的考试内容是不一样的,有些…...
机器人相关知识
机器人学(Robotics) 一些基础概念 位姿 位姿位置姿态 位姿的表示 刚体 刚性物体是一组粒子的集合,其中任意两个粒子之间的距离保持固定,不受物体运动或施加在物体上的力的影响。 “完全不可变形”的物体就是刚体。 刚体位置 刚性连杆 …...
八股文打卡day22——操作系统(5)
面试题:什么是死锁?如何避免死锁? 我的回答: 死锁是两个或者多个进程都占有各自的资源,然后都互相请求资源,导致互相都陷入了阻塞状态。 如何避免死锁呢? 首先,造成死锁有四个必要…...
SQL Server 权限管理
CSDN 成就一亿技术人! 2024年 第一篇 难度指数:* * CSDN 成就一亿技术人! 目录 1. 权限管理 什么是权限管理? SQL server的安全机制 服务器级角色 数据库级角色 对象级角色 2. 创建用户 赋予权限 最重要的一步骤 1. 权限…...
ReentrantLock底层原理学习一
J.U.C 简介 Java.util.concurrent 是在并发编程中比较常用的工具类,里面包含很多用来在并发场景中使用的组件。比如线程池、阻塞队列、计时器、同步器、并发集合等等。并发包的作者是大名鼎鼎的 Doug Lea。我们在接下来的课程中,回去剖析一些经典的比较…...
数字孪生在增强现实(AR)中的应用
数字孪生在增强现实(Augmented Reality,AR)中的应用可以提供更丰富、交互性更强的现实世界增强体验。以下是数字孪生在AR中的一些应用,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司ÿ…...
【数据仓库与联机分析处理】多维数据模型
目录 一、数据立方体 二、数据模型 (一)星形模型 (二)雪花模式 (三)事实星座模式 三、多维数据模型中的OLAP操作 (一)下钻 (二)上卷 (三…...
【网络面试(3)】浏览器委托协议栈完成消息的收发
前面的博客中,提到过很多次,浏览器作为应用程序,本身是不具备向网络中发送网络请求的能力,要委托操作系统的内核协议栈来完成。协议栈再调用网卡驱动,通过网卡将请求消息发送出去,本篇博客就来探讨一下这个…...
具身智能“标准线”划定,行业分化加剧?
近期具身智能行业有两件大事,宇树科技计划 IPO,首个行业标准发布。这两条“标准线”的确立,或使品牌和投融资市场迎来马太效应,推动行业分化。标准确立,行业分化开端具身智能行业的两件大事看似关联不大,实…...
为什么越来越多的STM32项目转向HAL库?从寄存器封装层次看开发效率提升
为什么STM32开发者纷纷拥抱HAL库?深度解析现代嵌入式开发效率革命 在嵌入式开发领域,STM32系列单片机凭借其出色的性能和丰富的生态,已成为工程师们的首选平台。然而,随着产品迭代速度的不断加快,开发效率成为衡量技术…...
Qt实战:QGroupBox和QButtonGroup的5个实用技巧(附完整代码)
Qt实战:QGroupBox和QButtonGroup的5个实用技巧(附完整代码) 在Qt界面开发中,QGroupBox和QButtonGroup是两个看似简单却暗藏玄机的组件。很多开发者只停留在基础使用层面,却不知道它们能实现更复杂的交互逻辑和界面优化…...
探索Pem电解槽三维仿真模型:聚焦氢气扩散
Pem电解槽三维仿真模型,阴极不通水,只考虑氢气的扩散,使用二次电流分布浓物质传递自由与多孔介质流,不使用水电解槽节点。最近在研究Pem电解槽的三维仿真模型,这里面有个挺有意思的设定,阴极不通水…...
WPF实战:用LiveCharts打造实时监控曲线(附动态数据刷新技巧)
WPF实战:用LiveCharts打造高性能实时监控曲线 在工业自动化、物联网监控等场景中,实时数据可视化是核心需求之一。想象一下,当数百个传感器数据以毫秒级频率涌向系统时,如何让曲线图既流畅又精准?传统WPF图表在高频数…...
告别环境变量噩梦:一键批处理脚本详解,让QGIS在Windows下的编译配置自动化
告别环境变量噩梦:一键批处理脚本详解,让QGIS在Windows下的编译配置自动化 在GIS开发领域,QGIS作为开源地理信息系统的代表,其灵活性和可扩展性吸引了大量开发者。然而,每次从源码编译QGIS都像是一场与环境变量的搏斗—…...
SwiftHub:终极GitHub iOS客户端开发指南 - RxSwift与MVVM-C架构实践
SwiftHub:终极GitHub iOS客户端开发指南 - RxSwift与MVVM-C架构实践 【免费下载链接】SwiftHub GitHub iOS client in RxSwift and MVVM-C clean architecture 项目地址: https://gitcode.com/gh_mirrors/sw/SwiftHub SwiftHub是一款功能强大的GitHub iOS客户…...
Z-Image-Turbo_Sugar脸部Lora模型轻量化:基于.NET框架的推理引擎封装
Z-Image-Turbo_Sugar脸部Lora模型轻量化:基于.NET框架的推理引擎封装 最近在做一个C#的桌面工具,需要集成一个AI换脸功能。网上找了一圈,发现Z-Image-Turbo_Sugar这个脸部Lora模型效果不错,但官方只提供了Python的推理脚本。对于…...
OpenClaw 性能优化:提升响应速度和资源效率
一、引言:OpenClaw 性能挑战与优化价值1.1 为什么需要性能优化OpenClaw 作为运行在用户自有设备上的个人 AI 助手框架,其性能直接影响用户体验:响应延迟:用户发送消息到收到回复的时间资源占用:CPU、内存、磁盘的使用效…...
Windows Auto Dark Mode:智能主题切换工具的全面应用指南
Windows Auto Dark Mode:智能主题切换工具的全面应用指南 【免费下载链接】Windows-Auto-Night-Mode Automatically switches between the dark and light theme of Windows 10 and Windows 11 项目地址: https://gitcode.com/gh_mirrors/wi/Windows-Auto-Night-M…...
