| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> JDBC内容整理 -> 正文阅读 |
|
[大数据]JDBC内容整理 |
什么是JDBC?JDBC全称是Java Database Connection,它是一套Java用于连接数据库的Database的接口,具体的接口实现由各大数据库厂家完成。这样Java程序员只需要编写一套代码就可以操作不同的数据库。 如何使用JDBC?jar包的获取以MySQL为例,首先我需要得到MySQL关于JDBC接口的具体实现。相关资源可以通过MySQL官网找到对应版本的jar包,比如我使用的Mysql5.x版本,就需要5.x版本的jar包。 配置获取了资源以后,还不能使用这些接口实现。如果你是使用文本编辑器进行编写,需要将jar包路径添加到环境变量CLASSPATH中。 利用JDBC来操作数据库步骤概览
注册驱动对象这里的驱动对象可以理解为jdbc的具体实现,我们需要告知现在操作的数据库是什么,并进行全局注册。
与数据库建立连接下载数据库这块内容就不赘述,完成这一步的前提是你可以连接到具体的数据库中。
通过DriverManager.getConnection接口返回connection对象,这个接口接受三个参数,第一个数据库进程所在url地址,jadc::mysql是MySQL和Java之间通信的协议,localhost是本地主机的ip地址,你可以替换成服务器所在的ip地址,3306是MySQL进程默认所在的端口号,test_db是连接到的数据库名称,这里是我进行测试的数据库名称。?后面拼接的是参数,关于需要拼接哪些参数,后面有坑会提。这里我如果不拼接useSSL=false会报错,每个人具体软件环境不同,你可以根据测试结果来判断拼不拼接。 获得操作数据库的对象
Statement对象就是我们后面用来执行SQL语句的媒介,它有SQL注入的风险,后面会进行总结。 执行SQL语句
executeUpdate(String sql)用来DML和DDL语句,具体使用可以根据自身情况进行测试. 处理查询结果集
executeQuery可以用来执行DSL语句, 返回类型是ResultSet,是个查询结果集。它的next方法有两个功能,返回布尔类型,查询结果是否还有数据,每调用一次,数据记录”指针“就会向下移动一条。 关闭资源关闭资源的准则是从小到大依次释放 ResultSet < Statement < Connection, 每个资源释放时调用close方法即可,且每一个都需要try catch
完整的流程演示
Statement与PreparedStatementStatement对象有个致命的缺陷,它可能收到SQL注入攻击。在上面的示例中,传入executeUpdate或者executeQuery中的是一个字符串,这个字符串的内容是SQL语句。
username和passwd一般是用户通过输入框输入得到的,然后将输入的内容进行拼接。如果用户有意的干扰该SQL语句可能会发生意料之外的后果。
sql语句直接传入到了构造器中,?代表占位符,后面的setType方法对占位符赋值,第一个参数代表占位符的序号,数字从1开始。 JDBC对事务机制的控制默认情况下,Statement对象每执行一句SQL语句就会提交事务 (对数据库内容进行修改),这在绝大多数情况是不合理的。事务往往包括多条SQL语句,如转账系统,只有所有语句执行成功,事务才会被提交,否则回滚事务。
行级锁的概念在select语句后面加入for update就能锁住行级记录,只有当前事务提交了,其它进程的事务才能访问。 致谢本篇Blog记录的内容动力节点相关的网课内容,内容有所简略,感兴趣的朋友可以在B站寻找相关资源。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/15 20:58:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |