IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> JavaApi高级编程(六)JDBC -> 正文阅读

[大数据]JavaApi高级编程(六)JDBC

目录

一、JDBC一 概述

二、了解JDBC的主要接口

三、JDBC操作步骤及数据库的连接

四、ResultSet接口

五、PreparedStatement的使用

六、JDSC代码优化


一、JDBC概述

1、JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力

2、JDBC(Java Data Base Connectivity,Java数据库连接),由一些接口和类构成的API。

3它讲数据库访问封装在少数几个方法内,使用户可以极其方便地查询数据库、插入新的数据、更改数据。

3、J2SE的一部分,由java.sql包组成。

二、了解JDBC的主要接口

第一点:主要接口:

????????1、java.sql.DriverManager:用于驱动程序的调入

????????2、java.sql.Connection:与特定数据库建立连接

????????3、java.sql.Statement:用于SQL语句的执行,包括查询语句、更新语句、创建数据库语句等

????????4、java.sql.ResultSet:用于保存查询所得的结果

第二点:JDBC API可做三件事:与数据库建立连接、执行SQL 语句、处理结果

? ? ? ? 1、DriverManager :依据数据库的不同,管理JDBC驱动 ?

? ? ? ? 2、Connection :负责连接数据库并担任传送数据的任务 ?

? ? ? ? 3、?Statement :由 Connection 产生、负责执行SQL语句 ?

? ? ? ? 4、 ResultSet:负责保存Statement执行后所产生的查询结果

三、JDBC操作步骤及数据库的连接

第一步:注册驱动(只做一次)

第二步:建立连接(Connection)

第三步:创建执行SQL的语句(Statement)

第四步:执行语句

第五步:处理执行结果(ResultSet)

第六步:释放资源

快速起步示例

Class.forName(“com.mysql.jdbc.Driver”);
//推荐这种方式,不会对具体的驱动类产生依赖。
DriverManager.registerDriver(com.mysql.jdbc.Driver);
//会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖。
System.setProperty(“jdbc.driver”,“driver1:driver2”);
//虽然不会对具体的驱动类产生依赖;但注册不太方便,所以很少使用。
驱动类型(四种类型)

建立连接(Connection)

Connection conn=DriverManager. getConnection(url,user,password);
url格式:
JDBC:子协议:子名称//主机名:端口/数据库名?属性名=属性值&……
user表示用户名称,一般mysql默认为“root”
password表示用户密码,在安装过程中用户设置的数据库密码。
conn表示链接变量,连接成功后,将返回一个Connection对象,以后所有对数据库的操作都可以使用这个对象来进行。

创建执行SQL的语句(Statement)

Statement st = conn.createStatement();

//要对链接的数据库进行查询、更改或添加数据,可通过创建SQL语句。St表示SQL语句的变量。

处理执行结果(ResultSet)

ResultSet rs = statement.executeQuery(sql);
While(rs.next()){
	rs.getString(“col_name”);
	rs.getInt(“col_name”);
	//…}
//ResultSet对象以类似表中记录的组织方式来组织查询到得结果,表中包含了由SQL返回的列名和相应的
//值。通过getString();getObject();getInt()等得到当前记录的各列的值。

释放资源

释放ResultSet, Statement,Connection. 数据库连接(Connection)是非常稀有的资源,用完后必须马上释放,如果Connection不能及时正确的关闭将导致系统宕机。Connection的使用原则是尽量晚创建,尽量早的释放。

四、ResultSet接口

Statement接口和ResultSet接口

1、获取Connection对象后就可以进行各种数据库操作了,此时需要使用Connection对象创建Statement对象。 ?

2、Statement 对象用于将SQL语句发送到数据库中,或者理解为执行SQL语句。

3、Statement接口中包含很多基本数据库操作方法,下面介绍执行SQL命令的三个方法:

4、ResultSet executeQuery(String sql):可以执行SQL查询并获取ResultSet对象;

5、Int executeUpdate( String sql ):可以执行插入、删除、更新等操作,返回值是执行该操作所影响的行数;

6、Boolean execute( String sql ):这是一个最为一般的执行方法,可以执行任意SQL语句,然后获得一个布尔值,表示是否返回RestultSet。

ResultSet接口常用方法及作用

?

五、PreparedStatement的使用

1、使用statement查询数据库时,每次执行查询时都需要将SQL语句传递给数据库,并重新解析执行,当多次执行同一查询时,就会影响效率。

2、为了提高查询效率,可以使用PreparedStatement接口,该接口将对SQL语句进行预编译,以后执行相同的语句时,就可以执行编译好的语句,从而提高查询效率。

3、PreparedStatement 接口继承 Statement接口

4、PreparedStatement比普通的Statement对象使用起来更加灵活,更有效率

六、JDSC代码优化及

public class DBHelper {
		private static String cname = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
		private static String url = "jdbc:sqlserver://localhost:1433;DatabaseName=T277";
		private static String user = "sa";
		private static String upwd = "1122";
		//静态代码块-加载类时,自动执行
		static {
			try {
				Class.forName(cname);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		//方法一:连接数据库
		public static Connection getCon() {
			Connection con = null;
			try {
				con = DriverManager.getConnection(url, user, upwd);
			} catch (Exception e) {
				e.printStackTrace();
			}
			return con;
		}
		
		//方法二:关闭连接
		public static void closeDb(Connection con,PreparedStatement ps,ResultSet rs) {
			try {
				if(con!=null) {
					con.close();
				}
				if(ps!=null) {
					ps.close();
				}
				if(rs!=null) {
					rs.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
}

?以上就是今天分享的小信息,路过的大神可以稍作指点>_<;

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 19:37:22  更:2021-11-09 19:38:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:34:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码