java操作mysql示例代碼(mysql觸發java程序)

本文目錄一覽:

java mysql連接代碼

import java.sql.*;

public class CF{

private static final String DRIVER=”com.mysql.jdbc.Driver”;

private static final String URL=”jdbc:mysql:///etoak”;

private static final String USER=”root”;

private static final String PWD=”etoak”;

static{

try{

Class.forName(DRIVER);

}catch(Exception e){

e.printStackTrace();

}

}

//封裝獲得連接的方法

public static Connection getConnection()throws Exception{

return DriverManager.getConnection(URL,USER,PWD);

}

//封裝關閉的方法

public static void close(ResultSet rs,Statement sta,

Connection con){

try{

if(rs!=null)rs.close();

}catch(Exception e){

e.printStackTrace();

}

try{

if(sta!=null)sta.close();

}catch(Exception e){

e.printStackTrace();

}

try{

if(con!=null)con.close();

}catch(Exception e){

e.printStackTrace();

}

}

}

Java如何連接MySQL資料庫進行操作

下面是一個從 mysql 資料庫獲取用戶信息的例子,可以參考一下:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

// 用戶類,存儲單個用戶信息

class User {

private int id;

private String name;

public User(int id, String name) {

this.id = id;

this.name = name;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

@Override

public String toString() {

return “User [id=” + id + “, name=” + name + “]”;

}

}

public class Demo1 {

public static void main(String[] args) throws ClassNotFoundException, SQLException {

// 本例使用 mysql 資料庫,演示將資料庫 test 的 tb_users 表中的用戶信息

// 放到 List 中

// 載入數據驅動

Class.forName(“com.mysql.jdbc.Driver”);

// 資料庫連接字元串, 此例資料庫為 test

String url = “jdbc:mysql://localhost:3306/test”;

String user = “root”; // 資料庫用戶名

String password = “”; // 資料庫密碼

// 打開一個數據連接

Connection conn = DriverManager.getConnection(url, user, password);

Statement stmt = conn.createStatement();

// 獲取表 tb_users 所有用戶信息到結果集中

ResultSet rs = stmt.executeQuery(“SELECT id, name FROM tb_users”);

// 定義一個存放用戶信息的 List

ListUser users = new ArrayList();

// 提取用戶信息,並將用戶信息放入 List

while (rs.next()) {

// 獲取用戶ID

int id = rs.getInt(1);

// 獲取用戶名

String name = rs.getString(2);

users.add(new User(id, name));

}

rs.close();

stmt.close();

conn.close();

// 顯示用戶信息

for (User u : users) {

System.out.println(u);

}

}

}

如何在Java程序中訪問mysql資料庫中的數據並進行簡單的操作

一、使用工具:java語言、Myeclipse。

二、操作步驟:

1、第一步:載入MySQL的JDBC的驅動

2、第二步:創建與MySQL資料庫的連接類的實例

3、第三步:獲取連接類實例con,用con創建Statement對象類實例 sql_statement

4、第四步:執行查詢,用ResultSet類的對象,返回查詢的結果

5、得出數據

三、注意事項:有幾處是需要根據自身情況修改的

1、如下圖中的url和賬號,密碼需要與你自己的相一致。

2、這些需要訪問的數據必須要與資料庫中的類型相互匹配,才能列印出正確的結果。

java連接mysql資料庫

步驟如下,

1. 在開發環境中載入指定資料庫的驅動程序。

接下來的實驗中,使用資料庫MySQL,所以需要下載MySQL支持JDBC的驅動程序(mysql-connector-java-5.1.18-bin.jar)。

2. 開發環境是MyEclipse,將下載得到的驅動程序載入進開發環境中。

3. 在Java程序中載入驅動程序。

在Java程序中,通過 「Class.forName(「指定資料庫的驅動程序」)」

方式來載入添加到開發環境中的驅動程序,例如Class.forName(「com.mysql.jdbc.Driver」)。

4. 創建數據連接對象:通過DriverManager類創建資料庫連接對象Connection。

DriverManager類作用於Java程序和JDBC驅動程序之間,用於檢查所載入的驅動程序是否可以建立連接,然後通過它的getConnection方法,根據資料庫的URL、用戶名和密碼,創建一個JDBC

Connection 對象。代碼如:Connection connection = DriverManager.getConnection(「連接資料庫的URL”, “用戶名”,

“密碼」)。

其中,URL=協議名+IP地址(域名)+埠+資料庫名稱;用戶名和密碼是指登錄資料庫時所使用的用戶名和密碼。具體示例創建MySQL的資料庫連接代碼如下:

Connection connectMySQL =

DriverManager.geiConnection(「jdbc:mysql://localhost:3306/myuser”,”root”

,”root” );

5. 創建Statement對象:Statement 類的主要是用於執行靜態 SQL

語句並返回它所生成結果的對象。

通過Connection 對象的 createStatement()方法可以創建一個Statement對象。例如:Statement statament =

connection.createStatement(); 具體示例創建Statement對象代碼如下:Statement statamentMySQL =connectMySQL.createStatement();

6. 調用Statement對象的相關方法執行相對應的 SQL

語句:通過execuUpdate()方法用來數據的更新,包括插入和刪除等操作,例如向staff表中插入一條數據的代碼:

statement.excuteUpdate( “INSERT INTO

staff(name, age, sex,address, depart, worklen,wage)” + ” VALUES (‘Tom1’, 321,

‘M’, ‘china’,’Personnel’,’3′,’3000′ ) “) ;

7. 通過調用Statement對象的executeQuery()方法進行數據的查詢,而查詢結果會得到

ResulSet對象,ResulSet表示執行查詢資料庫後返回的數據的集合,ResulSet對象具有可以指向當前數據行的指針。通過該對象的next()方法,使得指針指向下一行,然後將數據以列號或者欄位名取出。如果當next()方法返回null,則表示下一行中沒有數據存在。使用示例代碼如下:

ResultSet resultSel =

statement.executeQuery( “select * from staff” );

8. 關閉資料庫連接:使用完資料庫或者不需要訪問資料庫時,通過Connection的close() 方法及時關閉數據連接。

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

使用jdbc驅動  六個步驟

創建鏈接

載入驅動

獲取示例

執行sql語句

獲取結果集

關閉連接

代碼示例

import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DbDemo {

    public static void main(String[] args) {        // TODO Auto-generated method stub

        ResultSet result = null;

        Connection con = null;

        Statement statement = null;        try {            // 第0步:將mysql 的jdbcjar包加入到引用庫中來

            // 第一步:將想要連接的資料庫驅動類載入到JVM中來,載入過程中並向DriverManager註冊Driver

            // 成功載入後,會將Mysql的驅動Driver類的實例註冊到DriverManager類中。

            //使得下面我們獲取Connection只需要通過DriverManager就可以了。我不需要通過每個資料庫具體的Driver。

            Class.forName(“com.mysql.jdbc.Driver”).newInstance();            // 第二步,通過DriverManager獲取一個和mysql的連接實例con

            String JDBCUrl = “jdbc:mysql://localhost:3306/test?useUnicode=truecharacterEncoding=utf-8”;//

            String userName = “root”;

            String password = “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 * from student”);            // 第五步:從結果集中獲取數據

            while (result.next()) {                // 根據test庫中student表格列名讀取數據

                int id = result.getInt(“id”);

                String name = result.getString(“_stuName”);

                String number = result.getString(“_stuNumber”);

                String Grade = result.getString(result.findColumn(“_stuGrade”));

                String Address = result.getString(result.findColumn(“_stuAddress”));

                System.out

                        .println(“name= ” + name + ” number= ” + number + ” Grade= ” + Grade + ” Address= ” + Address);

            }            // 插入語句

            // statement.executeUpdate(“”);

            insert(statement);            // 執行帶參數的查詢,有where語句的查詢

            int id = 2;

            executeQuery(con, id);            // 執行更新操作

            updateDate(con, 2);

            delete(con, “XX”);// 刪除數據行

        } catch (ClassNotFoundException e) {            // TODO Auto-generated catch block

            System.out.println(“找不到驅動程序類 ,載入驅動失敗!”);

            e.printStackTrace();

        } catch (InstantiationException e) {            // TODO Auto-generated catch block

            e.printStackTrace();

        } catch (IllegalAccessException e) {            // TODO Auto-generated catch block

            e.printStackTrace();

        } catch (SQLException ex) {            // TODO Auto-generated catch block

            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 (SQLException e) {                    // TODO Auto-generated catch block

                    e.printStackTrace();

                }

                result = null;

            }            if (statement != null) {// 關閉執行sql語句代碼塊

                try {

                    statement.close();

                } catch (SQLException e) {                    // TODO Auto-generated catch block

                    e.printStackTrace();

                }

                statement = null;

            }            if (con != null) {// 關閉連接

                try {

                    con.close();

                } catch (SQLException e) {                    // TODO Auto-generated catch block

                    e.printStackTrace();

                }

                con = null;

            }

        }

    }

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();

原創文章,作者:FGPYD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/313472.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
FGPYD的頭像FGPYD
上一篇 2025-01-07 09:43
下一篇 2025-01-07 09:43

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python購物車程序

    Python購物車程序是一款基於Python編程語言開發的程序,可以實現購物車的相關功能,包括商品的添加、購買、刪除、統計等。 一、添加商品 添加商品是購物車程序的基礎功能之一,用…

    編程 2025-04-29

發表回復

登錄後才能評論