java操作mysql應用實例,java mysql操作

本文目錄一覽:

mySQL在java中的應用

Java連接Mysql詳解

Part I: 驅動/數據源類名, URL語法, Connector/J的屬性配置.假設你應經安裝好了mysql, 和mysql-connector-java-X.X.X-bin.jar

Mysql Connector/J通過com.mysql.jdbc.Driver來實現java.sql.Driver, 同時類名org.gjt.mm.mysql.Driver依舊可用, 以保持向前兼容MM.Mysql.

MySQL的JDBC URL格式如下:

如果沒有明確指定host(主機名), 默認為127.0.0.1, 端口號默認是3306

如果不指定數據庫名, 不會有默認的數據庫, 這樣的話, 你可以調用Connection的setCatalog()方法, 或者在SQL中明確指定所用的數據庫. 這種情況只在為多個數據庫建立工具時有用. 例如建立GUI數據庫管理器.

JDBC應該永遠不使用USE database來指定數據庫, 應該用Connection.setCatalog()方法.

MySQL Connector/J支持fail-over模式, 使用fail-over模式, 必須將connection的autoCommit設置為true.

如果URL的autoReconnect設置為false: Failover會發生在連接初始化時, failback出現在驅動器使第一個主機在此可用時.

如果URL的autoReconnect屬性時true, Failover發生在驅動決定connection失敗時(在每次查詢之前), falls back到第一個主機, 當它決定這個主機在此可用時.

在以上提到的兩種情況中, 無論何時你連接到一個”failed-over”服務器, 這個連接將會是制度的, 因此, 修改數據的查詢, 將會引發異常.

Configuration properties定義Connctor/J將怎樣連接到MySQL服務器. 除了特別聲明, 這些屬性可以設置在DataSource或Connection object中.

Configuration properties可以按照下面的方式進行設置:

①使用MysqlDataSource或MysqlConnectionPoolDataSource的set*()方法.

②以java.util.Properties的key/value對的形式傳遞給DriverManager.getConnection() 或Driver.connect()

③作為JDBC URL的參數傳給java.sql.DriverManger.getConnection()

java.sql.Driver.connect()或MySQL實現的javax.sql.DataSource setURL() 方法.

注意: 如果你用來確定JDBC URL的機制是XML-based, 你需要使用XML字符 來分隔參數.

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

}

}

}

MYSQL在JAVA中的使用問題

while (result.next())

改成 hashnext();

ArrayList list = dao.select(sql);

Iterator iterator = list.iterator();

while(iterator.hasNext()){

oram.FlowEvent t =(oram.FlowEvent)iterator.next();

out.println(t.getEventId()+” “+t.getByname()

類似這樣 就不會溢出了

如何使用Java訪問MySQL數據庫

第1步 獲取Java與MySQL的連接器

第2步 將下載的包存放在自己機器上jdk安裝目錄下面的jre目錄下面的lib目錄下面的ext目錄中,在程序中導入與數據庫操作相關的對象

import java.sql.Connection; //導入數據庫連接對象

import java.sql.DriverManager; //導入數據庫驅動管理對象

import java.sql.ResultSet; //導入數據記錄集對象

import java.sql.SQLException; //導入數據SQL操作異常對象

import java.sql.Statement; //導入SQL操作接口對象

第3步:在程序中寫入如下內容

String url; //連接數據庫的字符串

String sql; //執行數據sql查詢操作的字符串

Connection conn; //數據庫連接變量

Statement st; //數據庫操作對象

ResultSet rs; //數據記錄集對象

url = “jdbc:mysql://localhost:3306/test?user=rootpassword=”; //在程序中只要修改這句,就可以實現數據庫連接

try {

conn = DriverManager.getConnection(url);

st = conn.createStatement();

sql = “select * from test”; //只要修改這句,就可以實現各種查詢操作

rs=st.executeQuery(sql); //執行數據查詢

while(rs.next())

{

System.out.println(rs.getString(1)); //獲得數據表test中第1個字段的數據,該字段為字符串類型

System.out.println(rs.getString(2)); //獲得數據表test中第2個字段的數據,該字段為字符串類型

}

rs.close(); //關閉數據記錄集

conn.close(); //關閉數據庫連接

} catch (SQLException e) {

System.out.println(“Error:”+e.toString()+e.getMessage());

}

如何使用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數據庫中的數據並進行簡單的操作

//加載驅動Class.forName(“com.mysql.jdbc.Driver”); //獲取數據庫連接String user = “root” ,password = “mysql”,url=”jdbc:mysql://localhost:3306/test??characterEncoding=utf8″;Connection connection = DriverManager.getConnection(url, user, password); //增加String sql = “insert into t1(id,name) values(?,?)”;PreparedStatement statement = connection.prepareStatement(sql);statement.setString(1, “123123123”);statement.setString(2, “jdbc”);System.out.println(statement.executeUpdate()); //查詢sql = “select * from t1”;Statement query = connection.createStatement();ResultSet rs = query.executeQuery(sql);while(rs.next()){System.out.println(rs.getString(“id”)+”,”+rs.getString(“name”));} //修改sql = “update t1 set name = ? where id = ?”;statement = connection.prepareStatement(sql);statement.setString(1, “java”);statement.setString(2, “123123123”);System.out.println(statement.executeUpdate()); //刪除sql = “delete from t1 where id = ?”;statement = connection.prepareStatement(sql);statement.setString(1, “123123123”);System.out.println(statement.executeUpdate()); connection.close();

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/298222.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-28 12:17
下一篇 2024-12-28 12:17

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • SSVMW介紹及應用實例解析

    SSVMW是輕量級高性能的Web框架,能夠快速地提高Web應用程序的安全性、性能和可靠性。下面我們將從多個方面對SSVMW進行詳細的闡述,介紹如何使用它來構建Web應用程序。 一、…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

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

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

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29

發表回復

登錄後才能評論