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)】浏览器委托协议栈完成消息的收发
前面的博客中,提到过很多次,浏览器作为应用程序,本身是不具备向网络中发送网络请求的能力,要委托操作系统的内核协议栈来完成。协议栈再调用网卡驱动,通过网卡将请求消息发送出去,本篇博客就来探讨一下这个…...
艾尔登法环帧率解锁神器:告别60帧限制的终极指南
艾尔登法环帧率解锁神器:告别60帧限制的终极指南 【免费下载链接】EldenRingFpsUnlockAndMore A small utility to remove frame rate limit, change FOV, add widescreen support and more for Elden Ring 项目地址: https://gitcode.com/gh_mirrors/el/EldenRin…...
AMiner:研究生必备 AI 科研工具|文献调研・文献管理・代码复现一站式平台(基于 GLM 大模型)
科研中常遇到文献难找、资料混乱、算法难复现三大难题。AMiner作为一款AI for Science的AI学术科研工具,由清华大学唐杰教授团队研发,介入最新 GLM 大模型,提供文献调研、知识管理、代码辅助一站式服务,覆盖 3.3 亿文献、1.8亿专利…...
LinkedIn高管AI时代生存指南:别卷了,AI时代拼的是做人
AI浪潮席卷,职场人难免焦虑。LinkedIn (领英) 坐拥超过12亿会员的数据,看清了工作重塑的真实轨迹。LinkedIn首席经济机遇官Aneesh Raman惊人言论:AI时代,做个真正的人,别再模仿机器,没人能打败你。AI重塑工…...
【C++】C/C++ 内存管理从入门到进阶
【相关题目】 代码语言:javascript AI代码解释 int globalVar 1;static int staticGlobalVar 1;void Test(){static int staticVar 1;int localVar 1;int num1[10] {1, 2, 3, 4};char char2[] "abcd";const char* pChar3 "abcd";int*…...
Solidworks光学实验室:从零搭建一个‘偏振识别’光路模型的全流程记录
SolidWorks光学实验室:偏振识别光路建模全流程实战 在光学研究领域,论文中的二维示意图往往难以完整呈现复杂光路系统的三维空间关系。当我们需要复现一篇顶刊论文中的偏振识别实验时,如何将平面图表转化为可交互的三维模型?本文…...
聚合式AI对话客户端chatAllAI2:多模型统一管理与本地部署实战
1. 项目概述:一个聚合式AI对话客户端的诞生最近在折腾AI工具的朋友,可能都遇到过这样的烦恼:手头同时用着好几个AI服务,比如ChatGPT、Claude、文心一言、通义千问等等。每次想对比不同模型的回答,或者根据任务切换最合…...
NotebookLM + 企业文档治理:如何在48小时内完成10万页制度文件的语义结构化与智能问答部署
更多请点击: https://intelliparadigm.com 第一章:NotebookLM知识管理完整教程 NotebookLM 是 Google 推出的基于 AI 的知识协作工具,专为结构化处理 PDF、TXT、Google Docs 等文本源设计。它不依赖外部联网检索,而是通过本地文档…...
DC/DC转换器混合输出电容设计原理与工程实践
1. DC/DC转换器中混合输出电容的设计优势解析在电源设计领域,输出电容的选择往往让工程师陷入两难境地。作为一名长期从事电源系统设计的工程师,我深刻理解这种选择的痛苦——电解电容价格亲民但性能受限,陶瓷电容性能卓越却成本高昂。直到混…...
对抗AI焦虑的最好方式是搞懂大模型的底层原理
文章指出,尽管AI技术如RAG、MCP、Skill、Agent、Harness等迭代迅速,但程序员应专注于掌握大模型的底层原理,如记忆、信息获取、操作能力等,这些原理不会因技术变迁而失效。通过理解这些基础认知,程序员能更好地应对技术…...
基于MCP协议构建本地AI工具集成平台:asc-mcp部署与实战指南
1. 项目概述与核心价值最近在折腾AI应用开发,特别是想给本地的大语言模型(比如Claude Desktop、Cursor这类工具)增加点“超能力”,让它们能直接读取我电脑里的文件、调用我本地的工具。这听起来像是Agent或者RAG的活儿,…...
