當前位置:首頁 » 編程語言 » mysql調用java

mysql調用java

發布時間: 2022-04-13 17:21:12

❶ 如何使用java與Mysql進行數據交互

使用jdbc驅動 六個步驟

  1. 創建鏈接

  2. 載入驅動

  3. 獲取示例

  4. 執行sql語句

  5. 獲取結果集

  6. 關閉連接

    代碼示例

  7. importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassDbDemo{

    publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub
    ResultSetresult=null;
    Connectioncon=null;
    Statementstatement=null;try{//第0步:將mysql的jdbcjar包加入到引用庫中來
    //第一步:將想要連接的資料庫驅動類載入到JVM中來,載入過程中並向DriverManager注冊Driver
    //成功載入後,會將Mysql的驅動Driver類的實例注冊到DriverManager類中。
    //使得下面我們獲取Connection只需要通過DriverManager就可以了。我不需要通過每個資料庫具體的Driver。
    Class.forName("com.mysql.jdbc.Driver").newInstance();//第二步,通過DriverManager獲取一個和mysql的連接實例con
    StringJDBCUrl="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8";//
    StringuserName="root";
    Stringpassword="1557862201";//接受一個jdbcurl,username,password;
    con=DriverManager.getConnection(JDBCUrl,userName,password);//第三步:通過con連接獲取到Statement實例,執行sql語句
    statement=con.createStatement();//statement實例是用於一些不帶參數的sql執行,查詢,更新,插入,刪除操作都可以但是需要構建一個沒有佔位符的sql字元串
    //第四步,statement執行sql語句,查詢到的結果集到ResultSet實例,簡單查詢,沒有where語句的查詢
    result=statement.executeQuery("select*fromstudent");//第五步:從結果集中獲取數據
    while(result.next()){//根據test庫中student表格列名讀取數據
    intid=result.getInt("id");
    Stringname=result.getString("_stuName");
    Stringnumber=result.getString("_stuNumber");
    StringGrade=result.getString(result.findColumn("_stuGrade"));
    StringAddress=result.getString(result.findColumn("_stuAddress"));
    System.out
    .println("name="+name+"number="+number+"Grade="+Grade+"Address="+Address);
    }//插入語句
    //statement.executeUpdate("");
    insert(statement);//執行帶參數的查詢,有where語句的查詢
    intid=2;
    executeQuery(con,id);//執行更新操作
    updateDate(con,2);
    delete(con,"XX");//刪除數據行
    }catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblock
    System.out.println("找不到驅動程序類,載入驅動失敗!");
    e.printStackTrace();
    }catch(InstantiationExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }catch(IllegalAccessExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }catch(SQLExceptionex){//TODOAuto-generatedcatchblock
    System.out.println("SQLException:"+ex.getMessage());
    System.out.println("SQLState:"+ex.getSQLState());
    System.out.println("VendorError:"+ex.getErrorCode());
    ex.printStackTrace();
    }finally{//第六步:釋放資源
    /**
    *關閉JDBC對象操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲明順序相反:1、關閉記錄集
    *2、關閉聲明3、關閉連接對象
    */
    if(result!=null){//關閉結果集
    try{
    result.close();
    }catch(SQLExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }
    result=null;
    }if(statement!=null){//關閉執行sql語句代碼塊
    try{
    statement.close();
    }catch(SQLExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }
    statement=null;

    }if(con!=null){//關閉連接
    try{
    con.close();
    }catch(SQLExceptione){//TODOAuto-generatedcatchblock
    e.printStackTrace();
    }
    con=null;
    }
    }
    }

❷ 怎樣用java連接mysql

Java MySQL 連接

Java 連接 MySQL 需要驅動包,網路就有自行下載,解壓後得到jar庫文件,然後在對應的項目中導入該庫文件。

本實例使用的是 Eclipse,導入 jar 包:

我有一個微信公眾號,經常會分享一些Java技術相關的干貨,還有一些學習資源。
如果你喜歡我的分享,可以用微信搜索「Java團長」或者「javatuanzhang」關注。

❸ 請問mysql語句中怎麼引用java變數啊謝謝啦!

用預編譯對象
PreparedStatement
例:
PreparedStatement pstmt = new PreparedStatement();
public static String select(int sno)
{
String sql = "select * from student where sno = ?";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, sno);
rs = pstmt.executeQuery();
while(rs.next())
{
message = "學號"+rs.getString("sno")+" 姓名"+rs.getString("sname")
}
} catch (SQLException e) {
e.printStackTrace();
}
finally
{
DBDao.close(rs, pstmt, conn);
}
return message;
}

❹ JAVA調用MySQL存儲過程

java代碼:

Class.forName("com.mysql.jdbc.Driver");

Connectioncon=DriverManager

.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=111111");

Stringsql="{callsel(?)}";

CallableStatementcs=(CallableStatement)con.prepareCall(sql);

cs.execute();

Stringname=cs.getString(1);

System.out.println(name);

創建存儲過程代碼:

dropprocereifexistssel;

createproceresel(outname1varchar(225))

begin

;

end

輸出結果:

❺ 如何使用java連接mysql資料庫

Java要連接資料庫:

  1. 首先你必須安裝mysql資料庫

  2. 當你安裝好mysql之後,那麼你現在應該安裝JDK了(JDK1.6就可以)

  3. 安裝好JDK之後,就是安裝Eclipse了,要支持JDK版本,Eclipse安裝的時候會自動去找JDK安裝位置的,如果你是解壓版的Eclipse,就要配置eclipse.ini文件了,將對應的JDK配置好,這些已經准備就緒的時候,就到mysql中創建資料庫和表先創建資料庫

    CREATE DATABASE SCUTCS;

    接著,創建表:


    CREATETABLESTUDENT
    (
    SNOCHAR(7)NOTNULL,
    SNAMEVARCHAR(8)NOTNULL,
    SEXCHAR(2)NOTNULL,
    BDATEDATENOTNULL,
    HEIGHTDEC(5,2)DEFAULT000.00,
    PRIMARYKEY(SNO)
    );
  4. 然後插入數據,可以用SQL語句insert into <表名> values (value1, value2, ...)
    下面,我們來編寫.java文件來演示一下如何訪問MySQL資料庫


  5. importjava.sql.*;
    publicclassJDBCTest{
    publicstaticvoidmain(String[]args){
    //驅動程序名Stringdriver="com.mysql.jdbc.Driver";
    //URL指向要訪問的資料庫名scutcsStringurl="jdbc:mysql://127.0.0.1:3306/scutcs";
    //MySQL配置時的用戶名Stringuser="root";//MySQL配置時的密碼Stringpassword="root";
    try{//載入驅動程序Class.forName(driver);
    //連續資料庫Connectionconn=DriverManager.getConnection(url,user,password);
    if(!conn.isClosed())System.out.println("!");
    //statement用來執行SQL語句Statementstatement=conn.createStatement();
    //要執行的SQL語句Stringsql="select*fromstudent";
    //結果集ResultSetrs=statement.executeQuery(sql);
    while(rs.next())//選擇sname這列數據name=rs.getString("sname
    //輸出結果System.out.println(rs.getString("sno")+" "+name);}
    rs.close();conn.close();
    }catch(ClassNotFoundExceptione){
    System.out.println("Sorry,can`tfindtheDriver!");e.printStackTrace();
    }catch(SQLExceptione){
    e.printStackTrace();
    }catch(Exceptione){
    e.printStackTrace();
    }}}

❻ 關於mysql中的觸發器能調用JAVA嗎的搜索推薦

肯定不可以,mysql不能調用java代碼,但是可以在java中創建觸發器

1.使用SQL創建觸發器

DELIMITER$$CREATETRIGGER`catefiles_trigger`AFTERINSERTON`catefiles`FOREACHROWbegin
declarenum1int;setnum1=(selectnumfromest_client_catescan_statuswherecateid=new.cateIdandtaskid=new.taskIdandclientid=new.clientId);if(num1>=0)thenupdatecatescan_statussetnum=num1+1wherecateid=new.cateIdandtaskid=new.taskIdandclientid=new.clientId;elseinsertcatescan_status(cateid,num,status,taskid,clientid)values(new.cateId,1,0,new.taskid,new.clientId);endif;end$$

2.在Java程序里創建觸發器

Stringsql=+"CREATETRIGGERcatefiles_"
+"begin"
+"declarescannumint;"
+"setscannum=(selectnumfromest_client_catescan_statuswhere"
+"cateid=new.cateIdandtaskid=new.taskIdandclientid=new.clientId);"
+"if(scannum>=0)then"
+"updatecatescan_statussetnum=scannum+1wherecateid=new.cateIdandtaskid=new.taskIdandclientid=new.clientId;"
+"else"
+"insertcatescan_status(cateid,num,status,taskid,clientid)values(new.cateId,1,0,new.taskid,new.clientId);"
+"endif;"
+"end";
Connectioncon=DbConnectionManager.getConnection();
PreparedStatementpstmt=con.prepareStatement(sql);
pstmt.execute();

3.可以看出區別:在java中創建觸發器,不需要限定符DELIMITER ,加上的話執行過程中會報MySQL語法錯誤

❼ 一個關於java調用mysql 存儲過程的問題

在存儲過程中如果有查詢結果集,在java中執行存儲過程後,應使用其父介面Statement的getResultSet()方法獲取查詢結果集,此方法就返回ResultSet,如你上面若想獲取存儲過程中查詢結果集應如下:
ResultSet rs = cst.getResultSet();
以下遍歷此rs即可... ...

❽ mysql語句中如何引用java變數 jsp

select
*
from
資料庫名
where
name(資料庫中欄位名)=name;
查詢結果是個對象user,然後
if(user!=null){
if(user.getPassword.equals(password)){
判斷出用戶名和密碼正確
}
}

❾ 如何使用Java訪問MySQL資料庫

import java.sql.*;
public class DataBasePractice {

public static void main(String[] args) {
//聲明Connection對象
Connection con;
//驅動程序名
String driver = "com.mysql.jdbc.Driver";
//URL指向要訪問的資料庫名mydata
String url = "jdbc:mysql://localhost:3306/mydata";
//MySQL配置時的用戶名
String user = "root";
//MySQL配置時的密碼
String password = "root";
//遍歷查詢結果集
try {
//載入驅動程序
Class.forName(driver);
//1.getConnection()方法,連接MySQL資料庫!!
con = DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
//2.創建statement類對象,用來執行SQL語句!!
Statement statement = con.createStatement();
//要執行的SQL語句
String sql = "select * from student";
//3.ResultSet類,用來存放獲取的結果集!!
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("執行結果如下所示:");
System.out.println("-----------------");
System.out.println(" 學號" + "\t" + " 姓名");
System.out.println("-----------------");

String name = null;
String id = null;
while(rs.next()){
//獲取stuname這列數據
name = rs.getString("stuname");
//獲取stuid這列數據
id = rs.getString("stuid");
//首先使用ISO-8859-1字元集將name解碼為位元組序列並將結果存儲新的位元組數組中。
//然後使用GB2312字元集解碼指定的位元組數組。
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
//輸出結果
System.out.println(id + "\t" + name);
}
rs.close();
con.close();
} catch(ClassNotFoundException e) {
//資料庫驅動類異常處理
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
//資料庫連接失敗異常處理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
System.out.println("資料庫數據成功獲取!!");
}
}

}

在上面while代碼段後面添加以下代碼段:
String name = null;

String id = null;
while(rs.next()){
//獲取stuname這列數據
name = rs.getString("stuname");
//獲取stuid這列數據
id = rs.getString("stuid");
//首先使用ISO-8859-1字元集將name解碼為位元組序列並將結果存儲新的位元組數組中。
//然後使用GB2312字元集解碼指定的位元組數組。
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
//輸出結果
System.out.println(id + "\t" + name);
}

PreparedStatement psql;
ResultSet res;
//預處理添加數據,其中有兩個參數--「?」
psql = con.prepareStatement("insert into student values(?,?)");
psql.setInt(1, 8); //設置參數1,創建id為5的數據
psql.setString(2, "xiaogang"); //設置參數2,name 為小明
psql.executeUpdate(); //執行更新

//預處理更新(修改)數據
psql = con.prepareStatement("update student set stuname = ? where stuid = ?");
psql.setString(1,"xiaowang"); //設置參數1,將name改為王五
psql.setInt(2,10); //設置參數2,將id為2的數據做修改
psql.executeUpdate();

//預處理刪除數據
psql = con.prepareStatement("delete from student where stuid = ?");
psql.setInt(1, 5);
psql.executeUpdate();

//查詢修改數據後student表中的數據
psql = con.prepareStatement("select*from student");
res = psql.executeQuery(); //執行預處理sql語句
System.out.println("執行增加、修改、刪除後的數據");
while(res.next()){
name = res.getString("stuname");
id = res.getString("stuid");
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
System.out.println(id + "\t" + name);
}
res.close();
psql.close();

❿ java裡面怎麼調用mysql的存儲過程的

java代碼:

Class.forName("com.mysql.jdbc.Driver");

Connectioncon=DriverManager

.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=111111");

Stringsql="{callsel(?)}";

CallableStatementcs=(CallableStatement)con.prepareCall(sql);

cs.execute();

Stringname=cs.getString(1);

System.out.println(name);

創建存儲過程代碼:

dropprocereifexistssel;

createproceresel(outname1varchar(225))

begin

;

end

輸出結果:

熱點內容
密碼箱怎麼鎖住 發布:2025-01-20 16:32:17 瀏覽:31
編譯隔離 發布:2025-01-20 16:28:54 瀏覽:358
從哪裡看自己的qq賬號和密碼 發布:2025-01-20 16:22:33 瀏覽:400
sql語句動態 發布:2025-01-20 16:18:22 瀏覽:298
sql表或的語句 發布:2025-01-20 16:00:49 瀏覽:163
西瓜視頻怎麼緩存不了電影了 發布:2025-01-20 16:00:45 瀏覽:890
javatimer 發布:2025-01-20 15:55:56 瀏覽:64
ts使用什麼編譯器 發布:2025-01-20 15:54:59 瀏覽:382
資料庫中已存在 發布:2025-01-20 15:35:44 瀏覽:110
壓縮超過密度 發布:2025-01-20 15:35:33 瀏覽:648