电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

JDBC核心技術詳解

瀏覽:91日期:2022-08-13 10:10:18
一、JDBC概述

1、數據的持久化

持久化(persistence):把數據保存到可掉電式存儲設備中以供之后使用。大多數情況下,特別是企業級應用,數據持久化意味著將內存中的數據保存到硬盤上加以'固化”,而持久化的實現過程大多通過各種關系數據庫來完成。

持久化的主要應用是將內存中的數據存儲在關系型數據庫中,當然也可以存儲在磁盤文件、XML數據文件中。

JDBC核心技術詳解

2、Java 中的數據存儲技術 在Java中,數據庫存取技術可分為如下幾類:

ØJDBC直接訪問數據庫ØJDO技術Ø第三方O/R工具,如Hibernate, mybatis 等JDBC是java訪問數據庫的基石,JDO, Hibernate等只是更好的封裝了JDBC

3、JDBC基礎

JDBC核心技術詳解

連接數據庫:

JDBC核心技術詳解JDBC核心技術詳解

4、JDBC體系結構

JDBC接口(API)包括兩個層次:

Ø 面向應用的API:Java API,抽象接口,供應用程序開發人員使用(連接數據庫,執行SQL語句,獲得結果)。

Ø 面向數據庫的API:Java Driver API,供開發商開發數據庫驅動程序用。

JDBC核心技術詳解

5、JDBC API

JDBC API 是一系列的接口,它使得應用程序能夠進行數據庫聯接,執行SQL語句,并且得到返回結果。

JDBC核心技術詳解

6、JDBC程序訪問數據庫步驟

JDBC核心技術詳解JDBC核心技術詳解

二、獲取數據庫連接

1、Driver 接口

java.sql.Driver 接口是所有 JDBC 驅動程序需要實現的接口。這個接口是提供給數據庫廠商使用的,不同數據庫廠商提供不同的實現

在程序中不需要直接去訪問實現了 Driver 接口的類,而是由驅動程序管理器類(java.sql.DriverManager)去調用這些Driver實現ØOracle的驅動:oracle.jdbc.driver.OracleDriverØmySql的驅動: com.mysql.jdbc.Driver

2、加載與注冊 JDBC 驅動

JDBC核心技術詳解

3、建立連接(Connection)

JDBC核心技術詳解

4、幾種常用數據庫的JDBC URL

JDBC核心技術詳解

連接mysql代碼實例:

import java.io.InputStream;import java.sql.DriverManager;import java.sql.SQLException;import java.util.Properties;import org.junit.Test;import com.mysql.jdbc.Connection;import com.mysql.jdbc.Driver;public class testconnction01 { /** * @throws SQLException */ @Test //方式一public void testConnection011() throws SQLException {Driver driver = new com.mysql.jdbc.Driver();String url = 'jdbc:mysql://localhost:3306/test';Properties info = new Properties();info.setProperty('user', 'root');info.setProperty('password', 'root');Connection collection = (Connection) driver.connect(url, info);System.out.println(collection);}@Test //方式二,對方式一的迭代,使得程序具有更好的可移植性 public void testConnection02() throws Exception { //獲取Driver實現類對象;使用反射 Class clazz= Class.forName('com.mysql.jdbc.Driver'); Driver driver=(Driver) clazz.newInstance(); //提供要連接的數據庫 String url = 'jdbc:mysql://localhost:3306/test'; //提供連接需要的用戶名和密碼 Properties info = new Properties(); info.setProperty('user', 'root'); info.setProperty('password', 'root'); //獲取連接 Connection collection = (Connection) driver.connect(url, info); System.out.println(collection); }@Test //方式三,使用DriverManager替換Driver public void testConnection03() throws Exception { Class clazz= Class.forName('com.mysql.jdbc.Driver'); Driver driver=(Driver) clazz.newInstance(); //提供另外三個連接的基本信息; String url ='jdbc:mysql://localhost:3306/test'; String user ='root'; String password ='root'; //注冊驅動 DriverManager.registerDriver(driver);//獲取連接 Connection connection= (Connection) DriverManager.getConnection(url,user,password); System.out.println(connection); }@Test //方式四,可以只是加載驅動,不用是示的注冊驅動過了。 public void testConnection04() throws Exception { //提供另外三個連接的基本信息; String url ='jdbc:mysql://localhost:3306/test'; String user ='root'; String password ='root'; Class.forName('com.mysql.jdbc.Driver'); // Class clazz= Class.forName('com.mysql.jdbc.Driver');// Driver driver=(Driver) clazz.newInstance();// // //注冊驅動// DriverManager.registerDriver(driver);////獲取連接 Connection connection= (Connection) DriverManager.getConnection(url,user,password); System.out.println(connection); }@Test //方式五,(final版):將數據庫連接需要的4個基本信息聲明在配置文件中,通過讀取配置文件的方式,獲取連接 //實現了數據和代碼的分離(解耦) public void testConnection05() throws Exception { //讀取配置文件的4個基本信息 InputStream is = testconnction01.class.getClassLoader().getResourceAsStream('jdbc.properties'); Properties p =new Properties(); p.load(is); String user = p.getProperty('user'); String password = p.getProperty('password'); String url = p.getProperty('url'); String driverClass =p.getProperty('driverClass'); Class.forName(driverClass); //獲取連接 Connection connection= (Connection) DriverManager.getConnection(url,user,password); System.out.println(connection); }}

5、使用Statement操作數據表的弊端 a、需要拼寫SQL語句

JDBC核心技術詳解

6、Statement操作會導致SQL注入攻擊

JDBC核心技術詳解

數據庫連接被用于向數據庫服務器發送命令和SQL語句,并接受數據庫服務器返回的結果。其實一個數據庫連接就是一個Socket連接。

在java.sql包中有3個接口分別定義了對數據庫的調用的不同方式:

Statement :用于執行靜態SQL語句并返回它所生成結果的對象。PrepatedIatement : SQL語句被預編譯并存儲在此對象中,可以使用此對象多次高效地執行該語句。CallableStatement :用于執行SQL存儲過程

-JDBC核心技術詳解

JDBC核心技術詳解JDBC核心技術詳解

到此這篇關于JDBC核心技術詳解的文章就介紹到這了,更多相關JDBC核心技術內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JDBC
相關文章:
主站蜘蛛池模板: J.S.Bach 圣巴赫_高端背景音乐系统_官网 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 顺辉瓷砖-大国品牌-中国顺辉 | 多功能干燥机,过滤洗涤干燥三合一设备-无锡市张华医药设备有限公司 | 电动垃圾车,垃圾清运车-江苏速利达机车有限公司 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 高低温万能试验机-复合材料万能试验机-馥勒仪器 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 海鲜池-专注海鲜鱼缸、移动海鲜缸、饭店鱼缸设计定做-日晟水族厂家 | 植筋胶-粘钢胶-碳纤维布-碳纤维板-环氧砂浆-加固材料生产厂家-上海巧力建筑科技有限公司 | 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | 广州小程序开发_APP开发公司_分销商城系统定制_小跑科技 | 油冷式_微型_TDY电动滚筒_外装_外置式电动滚筒厂家-淄博秉泓机械有限公司 | 地脚螺栓_材质_标准-永年县德联地脚螺栓厂家 | 高压负荷开关-苏州雷尔沃电器有限公司| 广州办公室设计,办公室装修,写字楼设计,办公室装修公司_德科 | 名律网-法律问题咨询-找律师-法律知识| 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 | 厦门ISO认证|厦门ISO9001认证|厦门ISO14001认证|厦门ISO45001认证-艾索咨询专注ISO认证行业 | 混合生育酚_醋酸生育酚粉_琥珀酸生育酚-山东新元素生物科技 | 水篦子|雨篦子|镀锌格栅雨水篦子|不锈钢排水篦子|地下车库水箅子—安平县云航丝网制品厂 | 铝单板_铝窗花_铝单板厂家_氟碳包柱铝单板批发价格-佛山科阳金属 | 集菌仪_智能集菌仪_全封闭集菌仪_无菌检查集菌仪厂家-那艾 | 客服外包专业服务商_客服外包中心_网萌科技 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 云南成考网_云南成人高考报名网 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | 999范文网_优质范文下载写作帮手 | 细石混凝土泵_厂家_价格-烟台九达机械有限公司 | 深圳激光打标机_激光打标机_激光焊接机_激光切割机_同体激光打标机-深圳市创想激光科技有限公司 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 森旺-A级防火板_石英纤维板_不燃抗菌板装饰板_医疗板 | 上海办公室装修_上海店铺装修公司_厂房装潢设计_办公室装修 | IP检测-检测您的IP质量 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 活性炭-蜂窝-椰壳-柱状-粉状活性炭-河南唐达净水材料有限公司 | 滚塑PE壳体-PE塑料浮球-警示PE浮筒-宁波君益塑业有限公司 | 云南成人高考网| 北京企业宣传片拍摄_公司宣传片制作-广告短视频制作_北京宣传片拍摄公司 | 杭州荣奥家具有限公司-浙江办公家具,杭州办公家具厂 | 游泳池设计|设备|配件|药品|吸污机-东莞市太平洋康体设施有限公司 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 低温柔性试验仪-土工布淤堵-沥青车辙试验仪-莱博特(天津)试验机有限公司 |