一、JDBC基础示例
一、简介
JDBC全称叫做Java database connectivity,直译为Java语言的数据库连接。它主要针对于支持结构化查询语言(SQL)的数据源,与Java程序连接并操作数据。
JDBC的基础文档:https://docs.oracle.com/javase/tutorial/jdbc/basics/index.html
Java doc文档:https://blog.fondme.cn/apidoc/jdk-1.8-google/java/sql/package-frame.html
二、代码示例
这里以本地mysql数据库为例,准备一张"t_user"表
DROP TABLE IF EXISTS `t_user`; CREATE TABLE `t_user` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, `age` ) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of t_user -- ---------------------------- , );
maven工程,引入依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
Java代码示例
import java.sql.*;
public class JdbcDemo {
static {
try {
// 加载驱动,并添加到DriverManager的list集合中
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws SQLException {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
// 获取连接
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useSSL=true", "root", "password");
// 创建statement对象,预编译SQL语句
statement = connection.prepareStatement("SELECT * FROM t_user WHERE id = ?");
// 设置参数
statement.setLong(1, 1);
// 执行查询语句
resultSet = statement.executeQuery();
// 遍历查询结果
while (resultSet.next()) {
// 打印字段
System.out.println(resultSet.getString(1));
System.out.println(resultSet.getString(2));
System.out.println(resultSet.getString(3));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭资源
resultSet.close();
statement.close();
connection.close();
}
}
}
执行结果
1 lay 23
Java代码示例中使用了PreparedStatement,对SQL进行预编译操作,SQL会被发送到dbms系统进行编译。预编译操作可以防止SQL注入,提升数据的安全性。
另外,新版的JDBC会自动加载驱动,可以不用显示地去Class.forName来加载驱动了。
一、JDBC基础示例的更多相关文章
- Java应用程序连接数据库--JDBC基础
Java应用程序连接数据库--JDBC基础 Java应用程序连接数据库–JDBC基础 <!-- MySQL驱动,连接数据库用,由数据库厂商提供 --> <dependency&g ...
- Membership三步曲之入门篇 - Membership基础示例
Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 - Membership基础示例 Membership三步曲之进阶篇 - 深入剖析Pro ...
- JDBC + MySQL 示例
jdbc mysql connection 教程 翻译自:JDBC MySQL Connection Tutorial Java Database Connectivity (JDBC) 是一个基于J ...
- [转]Membership三步曲之入门篇 - Membership基础示例
本文转自:http://www.cnblogs.com/jesse2013/p/membership.html Membership三步曲之入门篇 - Membership基础示例 Members ...
- jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用
一.连接池的概念和使用 在实际应用开发中,特别是在WEB应用系统中,如果JSP.Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接.打开数据库.存取数 ...
- jdbc基础 (四) 批处理
批处理,就是字面上的意思,一次性处理一批sql语句. 直接看例子吧: package com.cream.ice.jdbc; import java.sql.Connection; import ja ...
- jdbc基础 (三) 大文本、二进制数据处理
LOB (Large Objects) 分为:CLOB和BLOB,即大文本和大二进制数据 CLOB:用于存储大文本 BLOB:用于存储二进制数据,例如图像.声音.二进制文件 在mysql中,只有B ...
- jdbc基础 (二) 通过properties配置文件连接数据库
csdn博文地址:jdbc基础 (二) 通过properties配置文件连接数据库 上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接 ...
- JDBC基础教程
本文实例讲述了JDBC基础知识与技巧.分享给大家供大家参考.具体分析如下: 1.什么是JDBC? 通俗来讲JDBC技术就是通过java程序来发送SQL语句到数据库,数据库收到SQL语句后执行,把结果返 ...
随机推荐
- iOS开发网络篇—GET请求和POST请求的说明与比较
1.GET请求和POST请求简单说明 1.1 创建GET请求 // 1.设置请求路径 NSString *urlStr = [NSString stringWithFormat:@"http ...
- 【ocp-12c】最新Oracle OCP-071考试题库(45题)
45.(9-16)choose the best answer: View the Exhibit and examine the data in the EMPLOYEES table. You w ...
- “全栈2019”Java异常第十九章:RuntimeException详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- C# 未安装Office环境下使用NPOI导出Excel文件
1.NuGet直接安装NPOI程序包: 2. using NPOI.XSSF.UserModel; 3.导出Excel代码: private void TsbExport2ExcelClick(obj ...
- sqli-labs lession 5 之盲注型SQL入门
本文作者:Mochazz 如果所查询的用户id在数据库中,可以发现页面显示”You are in”,而不像前4关那样会显示出具体的账号密码. 如果sql语句查询结果不存在,则不会显示”You are ...
- Vim 中的持久撤消
Vim中的持久撤消 阅读文本大约需要俩分钟. 在 Vim 中像其他文本编辑器一样,你可以在当前会话中执行 "撤销/重做" .当一旦会话关闭,则你需要重新打开一个新文章,运行撤销将不 ...
- 工具IDEA 配置springboot+maven项目
工具IDEA 配置springboot+maven项目 首先安装IDEA,至于怎么安装就不介绍了.. 第一步 配置maven环境 首先安装maven,先在网上下载一个maven包.在IDEA的sett ...
- select子句排列顺序与聚集函数
selcet 要返回的列或表达式 from 从中检索数据的表 where 行级过滤 group by 分组说明 having 组级过滤 order by 输出排列顺序 ASC正序排 ...
- 聊聊Postgres中的IPC之SI Message Queue
在 PostgreSQL中,每一个进程都有属于自己的共享缓存(shared cache).例如,同一个系统表在不同的进程中都有对应的Cache来缓存它的元组(对于RelCache来说缓存的是一个Rel ...
- 3.3 PXC Strict Mode
摘要: 出处:黑洞中的奇点 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是对博主最大的鼓励,感谢您的认真阅读.本文版权归作者所有,欢迎转载,但请保留该 ...