Java操作資料庫之jdbc【原生方式】
引言:Java對資料庫的操作有很多種技術。例如說jdbc,dbutil +C3p0,hibernate,jdbcTemplate等等【這五個都會總結】,到後面的話使用一些高階的框架去操作資料庫,比如hibernate。但是底層操作資料庫是重要的,高階框架也是也底層為基礎搭建的,所以這裡還是總結一下對一些常用資料庫的操作技術,有興趣的看一下。或者只挑你感興趣的那一部分看
一:JDBC【什麼是JDBC?為什麼使用JDBC?怎麼使用JDBC?】what +why + how
【what】SUN公司為使Java程式靈活的訪問各種不同的關係型資料庫提供的規則。【why】也就是說,不需要java應用程式去直接操作資料庫,而是通過sum公司提供的方法統一去操作資料庫,那麼我們就不需要針對不同的資料庫寫不同的程式碼。只需要在配置檔案裡面配置一下即可,寫程式碼更加方便。使Java程式靈活移植【how】下面講【下面的案例全部以mysql為例】
二:開發步驟
1)匯入mysql包,這一步是必須的,無論使用什麼技術操作資料庫,都需要匯入mysql包
2) JDBC的六個固定步驟
1,註冊資料庫驅動[利用反射]
2,取得資料庫連線物件Connection
3,建立SQL物件
4,執行SQL命令,並返回結果集
5,處理結果集
6,依次關閉結果集
//1,註冊資料庫驅動有兩種方式
第一種是:直接註冊資料庫驅動
DriverManager.registerDriver(new Driver());
第二種是:利用反射機制間接載入資料庫驅勸,推薦用第二種
Class.forName ("com.mysql.jdbc.Driver");
//2. 取得資料庫連線物件Connection
//取得與MySQL資料庫連線的橋樑,引數分別是:連線資料庫 使用者名稱 密碼Connection conn = DriverManager.getConnection( "jdbc:mysql:///zz2017","root","xiaozheng");
//前兩步驟需要記住以下。下面的
//4:執行sql語句
insert/update/delete----PreparedStatement .executeUpdate(sql):返回值表示影響記錄的行數
select------------------PreparedStatement .exeucteQuery ():返回值表示符合條件的記錄
【注意】建立sql物件的時候,有人會用Statement,我案例中使用的是 PreparedStatement。使用這個的好處是變數可以用佔位符的方式去表示,而且它可以防止sql注入,所以我就採用這種方式,不用Statement
//案例原始碼
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://127.0.0.1:3306/mydb2";
String user = "root";
String password = "root";
String sql = "insert into user(name,gender,salary) values(?,?,?)";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
//註冊資料庫驅動
Class.forName(driver);
//取得資料庫連線
conn = DriverManager.getConnection(url, user, password);
//進行預編譯,這裡進行引數設定
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,"xiaozheng");
pstmt.setString(2,"男");
pstmt.setFloat(3,8000);
//進行編譯
rs = pstmt.executeQuery();
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String gender = rs.getString("gender");
float salary = rs.getFloat("salary");
System.out.println(id + ":" + name + ":" + gender + ":"+ salary);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if(rs!=null){//輕量級,建立和銷燬rs所需要的時間和資源較小
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if(stmt!=null){//輕量級,建立和銷燬rs所需要的時間和資源較小
try {
stmt.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if(conn!=null){//重量級,建立和銷燬rs所需要的時間和資源較小
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
提醒一點,上述程式碼中發現有很多相同的地方,太長了。那麼可以把相同部分提取成一個工具類,下面都是採用工具類的方式演示。工具類會打包給大家,有需要的可以下載看看
三:CURL操作
插入操作【圖有點不清,建議可拖到新視窗開啟圖片就可以看清】
讀取操作
刪除
修改操作
相關推薦
Java操作資料庫之jdbc【原生方式】
引言:Java對資料庫的操作有很多種技術。例如說jdbc,dbutil +C3p0,hibernate,jdbcTemplate等等【這五個都會總結】,到後面的話使用一些高階的框架去操作資料庫,
java操作資料庫之模糊查詢
首先,在接口裡新增模糊查詢的方法,程式碼如下: ---------------------------------程式碼開始---------------------------------- package com.dao; import java.util.List; import
java實現SparkSQL之jdbc方式程式設計訪問hive資料庫
第一步: 新增maven依賴 <repositories> <repository> <id>scala-tools.org</id> <name>Scala-T
Java操作資料庫方式三Hibernate的使用之註解的使用
##概述在hibernate中,通常配置物件關係對映關係有兩種,一種是基於xml的方式,另一種是基於annotation的註解方式。在hibernate4及以後的版本直接使用註解,如果使用hiberna
JDBC(3)JAVA連線資料庫之 抽象DAO操作
抽象DAO操作 關於所有的表操作都會對應一些操作,我們都會把這些抽取到對應的DAO中。那麼存在大量的重複操作,是否可以抽出通用的部分,供大家繼承使用。 把DAO的操作先寫成介面,把通用的操作提煉出來。 實現操作 根據主鍵查詢 查詢所有 增加、刪除、修改、記
mysql學習【第3篇】:資料庫之增刪改查操作 資料庫之表操作,資料操作
資料庫之表操作,資料操作 注意的幾點:1.如果你在cmd中書命令的時候,輸入錯了就用\c跳出 2.\s檢視配置資訊
Java中操作資料庫語句JDBC基礎
JDBC JDBC Java Database connectivity Java資料庫連線規範(一套介面) 由SUn公司提供的 JDBC四個核心類 DriverManager 建立連線 Connection 連線
JAVA與資料庫(JDBC)基本操作
一、驅動新增以及資料庫連結。 Class.forName("com.mysql.jdbc.Driver");//驅動載入 Connection conn = DriverManager .getConnection("jdbc:mysql://lo
android連線Mysql資料庫之JDBC方式
開篇之前,提醒一句,記得關閉電腦防火牆,我的Android手機一直連不上電腦MySQL,排查了兩天,結果竟然是電腦防火牆的原因,那股不爽之情,油然而生.切記!!! 一.建立一個資料庫和若干表,並匯入相關資訊.這裡以我之前使用的一個圖書系統的資料庫為例子. 首先假設已經安裝並配置好Mysql.(建議大家安裝W
JDBC操作資料庫之查詢資料
以資料庫中查詢圖書資訊,並將資訊顯示在jsp頁面當中為例,下面貼上程式碼片段: (1)在index.jsp頁面程式碼body中只要新增如下一段程式碼: <a href="FindServlet">檢視所有圖書</a> (2)FindServlet.j
通過jdbc操作資料庫之新增資料
1、在mysql資料庫中建立圖書資訊表books。 create table books( id integer primary key not null auto_increment, bookname varchar(45) not null defau
JDBC(1)JAVA連線資料庫之 基礎知識學習
java連線資料庫 載入驅動類 匯入jar(jar中都是class) 專案名右鍵 屬性中新增JavaBuildPath 應該把資料庫的連線和資源的關閉包裝 把針對表的操作進行包裝。DAO 一張表會和一個類進行對應 列會對應屬性 一條記錄對應物件 java
Java操作資料庫方式二DBCP使用詳解
##概述DBCP的全稱是:DataBase connection pool,翻譯是:資料庫連線池。在Java操作資料庫方式一JDBC使用詳解中說到直接使用JDBC非常消耗資源。為了避免頻繁關閉連結資料庫
第四篇——JDBC操作資料庫之修改資料
使用JDBC修改資料庫中的資料,其操作方法是和新增資料差不多的,只不過在修改資料的時候還要用到UPDATE語句來實現的,例如:把圖書資訊id為1的圖書數量改為100,其sql語句是:update book set bookCount=100 where id=1。在實際開發過
Java操作PDF之iText超入門
tom stream [] win anti not tsp rowspan war iText是著名的開放項目,是用於生成PDF文檔的一個java類庫。通過iText不僅可以生成PDF或rtf的文檔,而且可以將XML、Html文件轉化為PDF文件。 http://ite
Java操作Excel之POI簡單例子
comm last pre cto ada tabs cnblogs encrypted hssf 21 /** 22 * 利用POI操作Excel表單 23 * 24 * 需要jar包: 25 * HSSF針對03及以前版本,即.xls後綴
Java DB訪問之 JDBC
ack not dst exists throw line null mon select 項目說明 項目采用 maven 組織 ,jdbc 唯一的依賴就是 mysql-connector-java pom 依賴如下: <dependency&g
java面試題之----jdbc中使用的設計模式(橋接模式)
connect @override 操作 tro orb his order ng- return 1.JDBC(JavaDatabase Connectivity) JDBC是以統一方式訪問數據庫的API. 它提供了獨立於平臺的數據庫訪問,也就是說,有了JDB
Java web面試之多種專案釋出方式
我們在本地釋出web專案時,一般有三種方式: run as server tomcat釋出 使用war包釋出 前兩個我們基本都知道,直到昨天我才知道,原來還有第三種釋出方式: 首先,把編寫好的程式碼進行匯出,並放置在Tomcat的webapps目錄下(為確保通過war
java操作excel常用的兩種方式
***************************************************** Excel是我們平時工作中比較常用的用於儲存二維表資料的,JAVA也可以直接對Excel進行操作,在這篇部落格中將為大家介紹兩種操作Excel的方式,分別為:jx