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

java資料庫sql

發布時間: 2022-08-29 14:45:53

A. 怎麼用java連接sql資料庫

如何用java連接sql的資料庫 1、java資料庫操作基本流程 : java資料庫操作基本流程:取得資料庫連接 - 執行sql語句 - 處理執行結果 - 釋放資料庫連接
2、幾個常用的重要技巧:可滾動、更新的記錄集 、 批量更新 、事務處理1、取得資料庫連接1)用DriverManager取資料庫連接例子:String className,url,uid,pwd;
className = "oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr;
uid = "system";
pwd = "manager";
Class.forName(className);
Connection cn = DriverManager.getConnection(url,uid,pwd);2)用jndi(java的命名和目錄服務)方式例子String jndi = "jdbc/db";
Context ctx = (Context) new InitialContext().lookup("java:comp/env");
DataSource ds = (DataSource) ctx.lookup(jndi);
Connection cn = ds.getConnection(); //多用於jsp中2、執行sql語句1)用Statement來執行sql語句String sql;
Statement sm = cn.createStatement();
sm.executeQuery(sql); // 執行數據查詢語句(select)
sm.executeUpdate(sql); // 執行數據更新語句(delete、update、insert、drop等)statement.close();2)用PreparedStatement來執行sql語句String sql;
sql = "insert into user (id,name) values (?,?)";
PreparedStatement ps = cn.prepareStatement(sql);
ps.setInt(1,xxx);
ps.setString(2,xxx);
...
ResultSet rs = ps.executeQuery(); // 查詢
int c = ps.executeUpdate(); // 更新3、處理執行結果查詢語句,返回記錄集ResultSet。更新語句,返回數字,表示該更新影響的記錄數。ResultSet的方法:1、next(),將游標往後移動一行,如果成功返回true;否則返回false。2、getInt("id")或getSting("name"),返回當前游標下某個欄位的值。3、釋放連接。cn.close();一般,先關閉ResultSet,然後關閉Statement(或者PreparedStatement);最後關閉Connection可滾動、更新的記錄集1、創建可滾動、更新的StatementStatement sm=cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,
ResultSet.CONCUR_READ_ONLY);該Statement取得的ResultSet就是可滾動的2、創建PreparedStatement時指定參數PreparedStatemet ps=cn.prepareStatement(sql,
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSet.absolute(9000);批量更新1、StatementStatement sm = cn.createStatement();
sm.addBatch(sql1);
sm.addBatch(sql2);
...
sm.executeBatch()一個Statement對象,可以執行多個sql語句以後,批量更新。這多個語句可以是delete、update、insert等或兼有2、 ps = cn.preparedStatement(sql);
{
ps.setXXX(1,xxx);
...
ps.addBatch();
}
ps.executeBatch();一個PreparedStatement,可以把一個sql語句,變換參數多次執行,一次更新。事務的處理1、關閉Connection的自動提交cn.setAutoCommit(false);2、執行一系列sql語句要點:執行每一個新的sql語句前,上一次執行sql語句的Statement(或者PreparedStatemet)必須先closeStatement sm ;
sm = cn.createStatement(insert into user...);
sm.executeUpdate();
sm.close();sm = cn.createStatement("insert into corp...);
sm.executeUpdate();
sm.close();3、提交cn.commit();

B. 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資料庫

C. java如何連接sql資料庫

是classpath的設置問題了。 首先解決這個問題如果說到時候提示沒有找到資料庫驅動,則在用命令運行此程序的時候需要在classpath 中加入連接sqlserver的jar 包,可以在環境變數中設置也可以在java命令後面加 例如: java -classpath .;xxxx.jar ConnectionDemo

D. java怎麼連接sql資料庫

在網路hi上面給你指導的 望採納啊

E. 如何用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() ;
}
}

F. JAVA 查詢SQL資料庫的問題

phone.setText(strSQL);你看你這里就是將"select PhoenNumber from Friend2 where Name= '"+Name+"'";賦值給setText了,
要phone.setText(rs.getObject("PhoenNumber"));

G. 怎麼用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 功能設計系統的圖形用戶界面,要求界面美觀,易用。

H. java操作資料庫SQL

java JDBC連接資料庫
package com.life.common;
import java.sql.*;
public class jdbcconn{
Connection conn=null;
String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;user=zqdl;password=zqdl;database=zq_db";//user登錄資料庫名,password登錄密碼,database資料庫名
public jdbcconn(){//構造函數載入驅動
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
//EQ方法用於查詢資料庫,返回結果集類型
public ResultSet EQ(String Sql){
ResultSet rs=null;
try{
conn=DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(Sql);
}
catch(SQLException e){
}
return rs;
}
//UP方法用於修改資料庫返回int型數據,表示影響到的行數
public int UP(String Sql){
int rs=0;
try{
conn=DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
rs=stmt.executeUpdate(Sql);
}
catch(SQLException e){
}
return rs;
}
//Close關閉資料庫連接
public void Close(){
try{
conn.close();
}
catch(Exception e){
}
}
}

注意此方法須要msutil.jar,mssqlserver.jar,msbase.jar這3個包,然後還需要給SQL資料庫打上SP3或者SP4的補丁

====================================================================
2,數據源連接方法,這個基本和上面一樣就不寫注釋了 只是驅動不一樣而以

package com.life.common;
import java.sql.*;
public class conn{
Connection conn=null;
public conn(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
System.out.println(e.getMessage());
}
}
public ResultSet EQ(String Sql){
ResultSet rs=null;
try{
conn=DriverManager.getConnection("jdbc:odbc:zqdl","aaaa","admin");
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(Sql);
}
catch(SQLException e){
}
return rs;
}
public int UP(String Sql){
int rs=0;
try{
conn=DriverManager.getConnection("jdbc:odbc:zqdl");
Statement stmt=conn.createStatement();
rs=stmt.executeUpdate(Sql);
}
catch(SQLException e){
}
return rs;
}
public void Close(){
try{
conn.close();
}
catch(Exception e){
}
}
}

//注意數據源連接需要建數據源,怎麼建就不用我說了吧
("jdbc:odbc:zqdl","aaaa","admin");數據源名稱zqdl aaaa用戶名 admin密碼

("jdbc:odbc:zqdl");如果是這樣那麼默認為sa用戶名,密碼為空

I. 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 中。

J. 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();
} } }

熱點內容
奇跡傳奇日服為什麼沒有伺服器 發布:2025-01-16 16:22:08 瀏覽:858
android瀏覽器控制項 發布:2025-01-16 16:22:05 瀏覽:155
資料庫10061 發布:2025-01-16 16:11:47 瀏覽:701
電腦網路ip地址怎麼配置 發布:2025-01-16 16:03:48 瀏覽:330
我的世界安卓網易版怎麼裝材質包 發布:2025-01-16 16:00:55 瀏覽:255
404頁面源碼 發布:2025-01-16 15:58:48 瀏覽:888
手機建行密碼忘記了怎麼辦 發布:2025-01-16 15:45:38 瀏覽:225
易語言視頻播放源碼 發布:2025-01-16 15:39:35 瀏覽:344
肇觀演算法 發布:2025-01-16 15:38:39 瀏覽:611
管家婆找不到加密狗 發布:2025-01-16 15:10:28 瀏覽:308