當前位置:首頁 » 編程語言 » sql資料庫java

sql資料庫java

發布時間: 2023-04-16 00:34:32

1. java程序員需要精通sql資料庫

理論上是這樣,軟體工程師更應該關注於程序設計而非對於某一技術的掌握,編寫和優化SQL應該交由資料庫專家負責,這是一種關注分離。x0dx0a但實際和理論相差甚遠,尤其在中國:x0dx0a很少公司會聘請資料庫專家進行開發的工作。x0dx0a而且相對的,資料庫專家並不了解具體軟體開發的技術,然而也沒有人要求資料庫專家要了解這些技術(是不是覺得對軟體工程師很不公平),如果想讓資料庫專家能夠工作起來,軟體工程師就必須從設計上把業務層與持久層的分離,目前很少工程師能夠做到這一點,基本上都是把SQL內嵌到業務層里了。x0dx0a所以如果公司沒有提供這樣理想的開發環境,還是有必要熟悉SQL的。

2. java中建立SQL資料庫

Java要連接資料庫,那麼首先你必須安裝mysql資料庫。
安裝好mysql之後,安裝JDK了。
安裝好JDK之後,就是安裝Eclipse了,要支持JDK版本,Eclipse安裝的時候會自動去找JDK安裝位置的,解壓版的Eclipse,就要配置eclipse.ini文件了,將對應的JDK配置好,這些已經准備就緒的時候,就到mysql中創建資料庫和表。
先創建資料庫:
CREATE DATABASE SCUTCS;
接著,創建表:
CREATE TABLE STUDENT
(
SNO CHAR(7) NOT NULL,
SNAME VARCHAR(8) NOT NULL,
SEX CHAR(2) NOT NULL,
BDATE DATE NOT NULL,
HEIGHT DEC(5,2) DEFAULT 000.00,
PRIMARY KEY(SNO)
);
然後插入數據,可以用SQL語句insert into <表名> values (value1, value2, ...);
編寫.java文件來演示一下如何訪問MySQL資料庫。
import java.sql.*;
public class JDBCTest {
public static void main(String[] args){
// 驅動程序名 String driver = "com.mysql.jdbc.Driver";
// URL指向要訪問的資料庫名scutcs String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置時的用戶名 String user = "root"; // MySQL配置時的密碼 String password = "root";
try { // 載入驅動程序 Class.forName(driver);
// 連續資料庫 Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed()) System.out.println("Succeeded connecting to the Database!");
// statement用來執行SQL語句 Statement statement = conn.createStatement();
// 要執行的SQL語句 String sql = "select * from student";
// 結果集 ResultSet rs = statement.executeQuery(sql);
while(rs.next()) // 選擇sname這列數據 name = rs.getString("sname
// 輸出結果 System.out.println(rs.getString("sno") + "\t" + name); }
rs.close(); conn.close();
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!"); e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
} } }

3. java連接SQL資料庫

import java.sql.ResultSet; //都是導入一些下面需要用到的類
String ConnStr="jdbc:microsoft:sqlserver://WINJUE:1433;DatabaseName=library";//jdbc連接資料庫url

public sqlServer() {
try {
Class.forName(DBDriver).newInstance(); //載入SQLServer驅動程序,DBDriver是你上面的代碼;
conn=DriverManager.getConnection(ConnStr,"sa","sa"); //和資料庫建立連接,ConnStr裡面的://WINJUE:1433;DatabaseName=library 分別是主機地址:埠號;你自己建的資料庫(database)
}
catch(SQLException e) { //捕獲SQL異常
System.out.println(e.getMessage()); //要是出現異常,捕獲到後,這句代碼會把異常的信息(出錯的原因之類的)列印出來。
}
catch(Exception e) { //捕獲異常,這個是總的,所以不能和上面的順序顛倒,先小到大,我連ORACLE和MYSQL,這個我通常不要,只須捕獲SQL異常就OL
System.out.println(e.getMessage());
}
}

public Connection getConn(){ //獲取連接方法
return conn;
}

public void insert(String sql) {//增刪改
try {
Statement stm=conn.createStatement(); 調用conn下的方法,創建Statement對象
stm.executeUpdate(sql);//調用Statement下的方法執行SQL語句
System.out.println("操作成功");
}
catch(Exception e){
System.out.println(e.getMessage()); //如上
}
}

public ResultSet query(String sql){ //查詢
try{
Statement stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stm.executeQuery(sql); //如上
}
catch(Exception e){
System.out.println(e.getMessage());
}
return rs;
}

public static void main(String args[]){

sqlServer conn=new sqlServer(); //創建sqlServer,就是你上面的類,以便調用裡面的方法
ResultSet rs=conn.query("select * from Orders"); //調用query方法,執行SQL語句後,把結果保存到結果集里
//conn.insert("delete from BookInfo where BookName =" +"\'悟空傳\'");
//conn.insert("insert into BookInfo (BookID,BookName,Author,KeyWord) values (14445678,'悟空傳','今何在','孫悟空')");

try{

while(rs.next()){ //循環,判斷結果集里的記錄,一條條往下走,是否還有下一條記錄,若是返回真,繼續走
System.out.print(rs.getString("OrderID"));
//System.out.print(rs.getString("U_age"));
}
rs.close() ; //關閉結果集
}
catch (Exception e){
System.out.println(e.getMessage());
}

}

}

注:
TYPE_FORWARD_ONLY:預設類型。只允許向前訪問一次,並且不會受到其他用戶對該資料庫所作更改的影響。
TYPE_SCROLL_INSENSITIVE:允許在列表中向前或向後移動,甚至能進行特定定位,例如移至列表中的第四個記錄或從當前位置向後移動兩個記錄。不會受到其他用戶對該資料庫所作更改的影響。
TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 相同,允許在記錄中定位。這種類型受到其他用戶所作更改的影響。如果用戶在執行完查詢之後刪除一個記錄,那個記錄將從 ResultSet 中消失。類似的,對數據值的更改也將反映在 ResultSet 中。

4. 如何用JAVA錄入數據到SQL資料庫

Java可以使用JDBC對資料庫進行讀寫。JDBC訪問一般分為如下流程:
1、載入JDBC驅動程序:
在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),
這通過java.lang.Class類的靜態方法forName(String className)實現。
例如:
try{
//載入MySql的驅動類
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驅動程序類 ,載入驅動失敗!");
e.printStackTrace() ;
}
成功載入後,會將Driver類的實例注冊到DriverManager類中。
2、提供JDBC連接的URL
?連接URL定義了連接資料庫時的協議、子協議、數據源標識。
?書寫形式:協議:子協議:數據源標識
協議:在JDBC中總是以jdbc開始
子協議:是橋連接的驅動程序或是資料庫管理系統名稱。
數據源標識:標記找到資料庫來源的地址與連接埠。
例如:(MySql的連接URL)
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字元集。如果characterEncoding設置為
gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。
3、創建資料庫的連接
?要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,該對象就代表一個資料庫的連接。
?使用DriverManager的getConnectin(String url,String username,String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和密碼來獲得。
例如:
//連接MySql資料庫,用戶名和密碼都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("資料庫連接失敗!");
se.printStackTrace() ;
}
4、創建一個Statement
?要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
具體的實現方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;
5、執行SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate和execute
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句,返回一個結果集(ResultSet)對象。
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的語句。
具體實現的代碼:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
6、處理結果
兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些行中數據的訪問。
使用結果集(ResultSet)對象的訪問方法獲取數據:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1); // 此方法比較高效(列是從左到右編號的,並且從列1開始)
}
7、關閉JDBC對象
操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲明順序相反:
1、關閉記錄集
2、關閉聲明
3、關閉連接對象
if(rs != null){ // 關閉記錄集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 關閉聲明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 關閉連接對象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}

5. java中怎麼連接sql資料庫

java中使用jdbc連接sql server資料庫步驟:
1.JDBC連接SQL Server的驅動安裝 ,前兩個是屬於資料庫軟體,正常安裝即可(注意資料庫登陸不要使用windows驗證)
<1> 將JDBC解壓縮到任意位置,比如解壓到C盤program files下面,並在安裝目錄里找到sqljdbc.jar文件,得到其路徑開始配置環境變數
在環境變數classpath 後面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_1.2\enu\sqljdbc.jar
<2> 設置SQLEXPRESS伺服器:
a.打開SQL Server Configuration Manager -> SQLEXPRESS的協議 -> TCP/IP
b.右鍵單擊啟動TCP/IP
c.雙擊進入屬性,把IP地址中的IP all中的TCP埠設置為1433
d.重新啟動SQL Server 2005服務中的SQLEXPRESS伺服器
e.關閉SQL Server Configuration Manager
<3> 打開 SQL Server Management Studio,連接SQLEXPRESS伺服器, 新建資料庫,起名字為sample
<4> 打開Eclipse
a.新建工程-> Java -> Java project,起名為Test
b.選擇eclipse->窗口->首選項->Java->installed JRE 編輯已經安裝好的jdk,查找目錄添加sqljdbc.jar
c.右鍵單擊目錄窗口中的Test, 選擇Build Path ->Configure Build Path..., 添加擴展jar文件,即把sqljdbc.jar添加到其中
<5> 編寫Java代碼來測試JDBC連接SQL Server資料庫

6. 請問SQL資料庫的作用,簡單說說與java的關系

資料庫的作用當然是存儲數據了,通過sql語言可以對數據進行插入、刪除、替換等一系列操作;而java是面向對象編程語言,可以通過JDBC包連接資料庫,這樣可以把sql語句嵌入到java語言中,在java程序中對資料庫進行訪問。

7. sql和java的區別

SQL SQL 慢沒關系,它穩定啊,慢就把機器垂直擴展一下好啦,加cpu,加內存,換SSD,加加加絕對可以解決事情的。 SQL 有各種索引和優化策略,說不定跑起來比我們自己寫邏輯還快呢。 加加加,加內存加cpu垂直升級。也沒有其他招數了,除了前置緩存,但是如果查詢都很個性化SQL很復雜,前置緩存也基本沒啥亂用。。。 如果你的邏輯全部寫在 SQL 中,那完蛋了,你這個表基本就沒法分表了,因為你的業務邏輯跟資料庫的數據完整性是強耦合的,需要一切數據基本都在一個資料庫中,這是一件很難受很難受滲念的事情,不信你去問問那些所有業叢譽困務邏輯全寫在 SQL 中的小伙虛兆。 資料庫中非常復雜的表關聯會極大程度拖慢資料庫處理每條 SQL 的平均時間,極大程度拖慢資料庫 RT,降低了資料庫的 RT ,如果邏輯都寫在 SQL 中,那麼只能進行垂直升級。

8. 北大青鳥java培訓:SQL資料庫優化的方法有哪些

在進行軟體開發過程中,資料庫的使用是非常重要的,但是資料庫有很多種,不同資料庫的使用方法是不同的。
進行軟體開發過程中,至少需要掌握一種資料庫的使用方法。
SQL資料庫語法簡單、操作方便和高效,是很多人最優的選擇,但是SQL語句會受到不同資料庫功能的影響,在計算時間和語言的效率上面需要進行優化,根據實際情況進行調整。
下面電腦培訓為大家介紹SQL資料庫的優化方法。
一、適當的索引索引基本上是一種數據結構,有助於加速整個數據檢索過程。
唯一索引是創建不重疊的數據列的索引。
正確的索引可以更快地訪問資料庫,但是索引太多或沒有索引會導致錯誤的結果。
IT培訓認為如果沒有索引,處理速度會變得非常慢。
二、僅索引相關數據指定需要檢索數據的精度。
使用命令*和LIMIT代替SELECT*。
調整資料庫時,必須使用所需的數據集而不是整個數據集,尤其是當數據源非常大時,指定所需的數據集,能夠節省大部分時間。
三、根據需求使用或避免臨時表如果代碼可以用簡單的方式編寫,那麼永遠不要使臨時表變得復雜。
當然,如果數據具有需要多個查詢的特定程序,北大青鳥建議在這種情況下,使用臨時表。
臨時表通常由子查詢交替。
四、避免編碼循環避免編碼循環是非常重要的,因為它會減慢整個序列的速度。
通過使用具有單行的唯一UPDATE或INSERT命令來避免編碼循環,並且浙江北大青鳥發現WHERE命令能夠確保存儲的數據不被更新,這樣能夠方便在找到匹配和預先存在的數據時被找到。

9. 怎麼用java+sql資料庫做一個工資管理系統

第一章 需求分析

1.1 功能要求

1.1.1 功能概況

本次設計要求運用面向對象設計知識,利用 JAVA 語言設計實現一個「小型公司工資管理系統」。

1.1.2 存儲功能

能夠存儲雇員的編號、姓名、性別、所在部門,級別,並進行工資的計算。 其中,雇員級別分為經理、技術人員、銷售人員和銷售經理。四類人員的月薪計算方法如下:經理拿固定月薪;技術人員按小時領取月薪;銷售人員按其當月銷售額的提成領取工資;銷售經理既拿固定月薪也領取銷售提成。由此要求,該項目需要利用資料庫的關系表存儲數據。

1.1.3 添加功能

程序能夠任意添加上述四類人員的記錄,可提供選擇界面供用戶選擇所要添加的人員類別,要求員工的編號要唯一,如果添加了重復編號的記錄時,則提示數據添加重復並取消添加。需要利用 Java 語言連接資料庫,使用資料庫添加語句。

1.1.4 查詢功能

可根據編號、姓名等信息對已添加的記錄進行查詢,如果未找到,給出相應的提示信息,如果找到,則顯示相應的記錄信息。利用 Java Swing 控制項進行展示。

1.1.5 編輯功能

可根據查詢結果對相應的記錄進行修改,修改時注意編號的唯一性。

1.1.6 刪除功能

主要實現對已添加的人員記錄進行刪除。如果當前系統中沒有相應的人員記錄, 則提示「記錄為空!」並返回操作;否則,輸入要刪除的人員的編號或姓名,根據所輸入的信息刪除該人員記錄,如果沒有找到該人員信息,則提示相應的記錄不存。

1.1.7 統計功能

能根據多種參數進行人員的統計。例如,統計四類人員數量以及總數,或者統計男、女員工的數量,或者統計平均工資、最高工資、最低工資等信息。利用資料庫語句完成統計。

1.1.8 界面功能

利用 java 的 GUI 功能設計系統的圖形用戶界面,要求界面美觀,易用。

10. java連接sql資料庫失敗,怎麼做

現在很少用sqlserver了,因為java是跨平台的,sqlserver不跨平台,碼納提示失敗一般就是你沒有開遠程連接、密碼錯誤、資料庫服務有問題,一般你用工具能臉上的話,州模裂這個就冊閉能連上

熱點內容
centos升級python27 發布:2024-11-02 02:00:57 瀏覽:673
ue4未找到編譯器 發布:2024-11-02 01:46:08 瀏覽:155
python中的withopen 發布:2024-11-02 01:46:07 瀏覽:976
編程名人 發布:2024-11-02 01:42:18 瀏覽:867
伺服器電腦配置表 發布:2024-11-02 01:41:29 瀏覽:370
linux使用串口 發布:2024-11-02 01:37:11 瀏覽:702
二維碼掃的密碼從哪裡開始 發布:2024-11-02 01:24:57 瀏覽:473
如何將手錶改成開放式安卓系統 發布:2024-11-02 01:09:00 瀏覽:739
6s還能用嗎能和什麼安卓機比 發布:2024-11-02 01:08:09 瀏覽:765
SQL擴位 發布:2024-11-02 00:55:35 瀏覽:447