Hướng dẫn how to retrieve data from database in java using mysql - cách lấy dữ liệu từ cơ sở dữ liệu trong java bằng mysql

8

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đã kết nối với cơ sở dữ liệu MySQL, chứa bốn trường [lần đầu tiên là ID, các trường sau có chứa chuỗi varchar].

Tôi đang cố gắng để có được hàng cuối cùng của cơ sở dữ liệu và truy xuất nội dung của các trường để tôi có thể đặt chúng thành các biến [INT và ba chuỗi] và sử dụng chúng sau.

Cho đến nay, tôi có mức tối thiểu để thực hiện kết nối, tôi phải đi đâu từ đây? Như bạn có thể thấy, tôi đã cố gắng viết một câu lệnh SQL để có được hàng cuối cùng nhưng tất cả đã sai từ đó và tôi không biết cách chia nó thành các trường riêng biệt.

Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost/t", "", ""];

Statement st = con.createStatement[];
String sql = ["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];
st.getResultSet[].getRow[];
con.close[];

Hỏi ngày 20 tháng 8 năm 2012 lúc 16:18Aug 20, 2012 at 16:18

Bạn đi đây:

Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost/t", "", ""];

Statement st = con.createStatement[];
String sql = ["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];
ResultSet rs = st.executeQuery[sql];
if[rs.next[]] { 
 int id = rs.getInt["first_column_name"]; 
 String str1 = rs.getString["second_column_name"];
}

con.close[];

Trong rs.getInt hoặc

Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost/t", "", ""];

Statement st = con.createStatement[];
String sql = ["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];
ResultSet rs = st.executeQuery[sql];
if[rs.next[]] { 
 int id = rs.getInt["first_column_name"]; 
 String str1 = rs.getString["second_column_name"];
}

con.close[];
0, bạn có thể vượt qua
Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost/t", "", ""];

Statement st = con.createStatement[];
String sql = ["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];
ResultSet rs = st.executeQuery[sql];
if[rs.next[]] { 
 int id = rs.getInt["first_column_name"]; 
 String str1 = rs.getString["second_column_name"];
}

con.close[];
1 bắt đầu từ
Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost/t", "", ""];

Statement st = con.createStatement[];
String sql = ["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];
ResultSet rs = st.executeQuery[sql];
if[rs.next[]] { 
 int id = rs.getInt["first_column_name"]; 
 String str1 = rs.getString["second_column_name"];
}

con.close[];
2, nhưng tôi thích vượt qua
Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost/t", "", ""];

Statement st = con.createStatement[];
String sql = ["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];
ResultSet rs = st.executeQuery[sql];
if[rs.next[]] { 
 int id = rs.getInt["first_column_name"]; 
 String str1 = rs.getString["second_column_name"];
}

con.close[];
3 vì nó có nhiều thông tin hơn vì bạn không phải xem cơ sở dữ liệu
Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost/t", "", ""];

Statement st = con.createStatement[];
String sql = ["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];
ResultSet rs = st.executeQuery[sql];
if[rs.next[]] { 
 int id = rs.getInt["first_column_name"]; 
 String str1 = rs.getString["second_column_name"];
}

con.close[];
4 mà
Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost/t", "", ""];

Statement st = con.createStatement[];
String sql = ["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];
ResultSet rs = st.executeQuery[sql];
if[rs.next[]] { 
 int id = rs.getInt["first_column_name"]; 
 String str1 = rs.getString["second_column_name"];
}

con.close[];
5 là những gì
Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost/t", "", ""];

Statement st = con.createStatement[];
String sql = ["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];
ResultSet rs = st.executeQuery[sql];
if[rs.next[]] { 
 int id = rs.getInt["first_column_name"]; 
 String str1 = rs.getString["second_column_name"];
}

con.close[];
6.

Cập nhật:

Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost/t", "", ""];

Statement st = con.createStatement[];
String sql = ["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];
ResultSet rs = st.executeQuery[sql];
if[rs.next[]] { 
 int id = rs.getInt["first_column_name"]; 
 String str1 = rs.getString["second_column_name"];
}

con.close[];
7
Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost/t", "", ""];

Statement st = con.createStatement[];
String sql = ["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];
ResultSet rs = st.executeQuery[sql];
if[rs.next[]] { 
 int id = rs.getInt["first_column_name"]; 
 String str1 = rs.getString["second_column_name"];
}

con.close[];
7

boolean next [] ném SQlexception

Di chuyển con trỏ Froward một hàng từ vị trí hiện tại của nó. Một con trỏ kết quả ban đầu được định vị trước hàng đầu tiên; Cuộc gọi đầu tiên đến phương thức tiếp theo làm cho hàng đầu tiên trở thành hàng hiện tại; Cuộc gọi thứ hai làm cho hàng thứ hai trở thành hàng hiện tại, v.v.

Khi một cuộc gọi đến phương thức tiếp theo trả về sai, con trỏ sẽ được định vị sau hàng cuối cùng. Bất kỳ lời cầu khẩn của một phương thức kết quả đòi hỏi một hàng hiện tại sẽ dẫn đến việc SQlexcepce bị ném. Nếu loại tập kết quả là type_forward_only, thì nhà cung cấp được chỉ định xem việc triển khai trình điều khiển JDBC của họ sẽ trả về sai hoặc ném SQlexception vào cuộc gọi tiếp theo tiếp theo.

Nếu một luồng đầu vào được mở cho hàng hiện tại, một cuộc gọi đến phương thức tiếp theo sẽ ngầm đóng nó. Chuỗi cảnh báo của đối tượng kết quả được xóa khi đọc một hàng mới.

Trả về: Đúng nếu hàng hiện tại mới là hợp lệ; Sai Nếu không có thêm hàng ném: SQLEXception - Nếu xảy ra lỗi truy cập cơ sở dữ liệu hoặc phương thức này được gọi trên tập kết quả đóng

tài liệu tham khảo

Dror Cohen

6.5215 huy hiệu vàng28 Huy hiệu bạc31 Huy hiệu đồng5 gold badges28 silver badges31 bronze badges

Đã trả lời ngày 20 tháng 8 năm 2012 lúc 16:36Aug 20, 2012 at 16:36

Một cái gì đó như thế này sẽ làm:

public static void main[String[] args] {

    Connection con = null;
    Statement st = null;
    ResultSet rs = null;

    String url = "jdbc:mysql://localhost/t";
    String user = "";
    String password = "";

    try {
        Class.forName["com.mysql.jdbc.Driver"];
        con = DriverManager.getConnection[url, user, password];
        st = con.createStatement[];
        rs = st.executeQuery["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];

        if [rs.next[]] {//get first result
            System.out.println[rs.getString[1]];//coloumn 1
        }

    } catch [SQLException ex] {
        Logger lgr = Logger.getLogger[Version.class.getName[]];
        lgr.log[Level.SEVERE, ex.getMessage[], ex];

    } finally {
        try {
            if [rs != null] {
                rs.close[];
            }
            if [st != null] {
                st.close[];
            }
            if [con != null] {
                con.close[];
            }

        } catch [SQLException ex] {
            Logger lgr = Logger.getLogger[Version.class.getName[]];
            lgr.log[Level.WARNING, ex.getMessage[], ex];
        }
    }
}

Bạn có thể lặp lại kết quả với

Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost/t", "", ""];

Statement st = con.createStatement[];
String sql = ["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];
ResultSet rs = st.executeQuery[sql];
if[rs.next[]] { 
 int id = rs.getInt["first_column_name"]; 
 String str1 = rs.getString["second_column_name"];
}

con.close[];
8 như thế này:

while[rs.next[]]
{
System.out.println[rs.getString["Colomn_Name"]];//or getString[1] for coloumn 1 etc
}

Có rất nhiều hướng dẫn tuyệt vời khác ngoài kia như thế này để liệt kê một số:

  • //www.vogella.com/articles/MySQLJava/article.html
  • //www.java-samples.com/showtutorial.php?tutorialid=9

Đối với việc bạn sử dụng

Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost/t", "", ""];

Statement st = con.createStatement[];
String sql = ["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];
ResultSet rs = st.executeQuery[sql];
if[rs.next[]] { 
 int id = rs.getInt["first_column_name"]; 
 String str1 = rs.getString["second_column_name"];
}

con.close[];
9, hãy xem JDBC Connection- class.forname vs class.forname []. NewInstance? trong đó cho thấy cách bạn có thể sử dụng
public static void main[String[] args] {

    Connection con = null;
    Statement st = null;
    ResultSet rs = null;

    String url = "jdbc:mysql://localhost/t";
    String user = "";
    String password = "";

    try {
        Class.forName["com.mysql.jdbc.Driver"];
        con = DriverManager.getConnection[url, user, password];
        st = con.createStatement[];
        rs = st.executeQuery["SELECT * FROM posts ORDER BY id DESC LIMIT 1;"];

        if [rs.next[]] {//get first result
            System.out.println[rs.getString[1]];//coloumn 1
        }

    } catch [SQLException ex] {
        Logger lgr = Logger.getLogger[Version.class.getName[]];
        lgr.log[Level.SEVERE, ex.getMessage[], ex];

    } finally {
        try {
            if [rs != null] {
                rs.close[];
            }
            if [st != null] {
                st.close[];
            }
            if [con != null] {
                con.close[];
            }

        } catch [SQLException ex] {
            Logger lgr = Logger.getLogger[Version.class.getName[]];
            lgr.log[Level.WARNING, ex.getMessage[], ex];
        }
    }
}
0 vì không cần thiết để tự bắt đầu

References:

  • //zetcode.com/databases/mysqljavatutorial/

Đã trả lời ngày 20 tháng 8 năm 2012 lúc 16:21Aug 20, 2012 at 16:21

David Kroudampdavid KroudampDavid Kroukamp

359K13 Huy hiệu vàng78 Huy hiệu bạc134 Huy hiệu đồng13 gold badges78 silver badges134 bronze badges

Điều này sẽ hoạt động, tôi nghĩ ...

ResultSet results = st.executeQuery[sql];

if[results.next[]] { //there is a row
 int id = results.getInt[1]; //ID if its 1st column
 String str1 = results.getString[2];
 ...
}

Đã trả lời ngày 20 tháng 8 năm 2012 lúc 16:26Aug 20, 2012 at 16:26

nullpotentnullpotentnullpotent

9.1241 Huy hiệu vàng 30 Huy hiệu bạc42 Huy hiệu Đồng1 gold badge30 silver badges42 bronze badges

3

Phương thức Java dễ dàng để lấy dữ liệu từ bảng MySQL:

/*
 * CREDIT : WWW.CODENIRVANA.IN
*/

String Data[String query]{
    String get=null;
    try{

Class.forName["com.mysql.jdbc.Driver"].newInstance[];
Connection con = [Connection]DriverManager.getConnection
["jdbc:mysql://localhost:3306/mysql","root","password"];
Statement stmt = [Statement] con.createStatement[];
ResultSet rs=stmt.executeQuery[query];
if [rs.next[]]
       {
get = rs.getString[""];
        }

}
catch[Exception e]{
JOptionPane.showMessageDialog [this, e.getMessage[]];
}
    return get;
}

Đã trả lời ngày 18 tháng 10 năm 2013 lúc 16:53Oct 18, 2013 at 16:53

Đây là những gì tôi vừa làm ngay bây giờ:

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

import com.sun.javafx.runtime.VersionInfo;  

public class ConnectToMySql {
public static ConnectBean dataBean = new ConnectBean[];

public static void main[String args[]] {
    getData[];
    }



public static void getData [] {

    try {
        Class.forName["com.mysql.jdbc.Driver"];
Connection con = DriverManager.getConnection["jdbc:mysql://localhost:3306/mynewpage", 
 "root", "root"];
        
 // here mynewpage is database name, root is username and password
    
Statement stmt = con.createStatement[];
        System.out.println["stmt  " + stmt];
        ResultSet rs = stmt.executeQuery["select * from carsData"];
        System.out.println["rs  " + rs];
        int count = 1;
        while [rs.next[]] {
            String vehicleType = rs.getString["VHCL_TYPE"];
            System.out.println[count  +": " + vehicleType];
            count++;

        }

        con.close[];
    } catch [Exception e] {
        Logger lgr = Logger.getLogger[VersionInfo.class.getName[]];
        lgr.log[Level.SEVERE, e.getMessage[], e];

        System.out.println[e.getMessage[]];
    }
    
    
}

}

Mã trên sẽ giúp bạn có cột đầu tiên của bảng bạn có.

Đây là bảng mà bạn có thể cần tạo trong cơ sở dữ liệu MySQL của mình

CREATE TABLE
carsData
[
    VHCL_TYPE CHARACTER[10] NOT NULL,
];

Đã trả lời ngày 25 tháng 11 năm 2020 lúc 6:54Nov 25, 2020 at 6:54

  • Đầu tiên, tải xuống tệp JAR kết nối MySQL, đây là tệp JAR mới nhất cho đến ngày hôm nay [MySQL-ConneNector-Java-8.0.21].

  • Thêm tệp jar vào không gian làm việc của bạn [đường dẫn xây dựng].

  • Sau đó, tạo một đối tượng kết nối mới từ lớp trình điều khiển, do đó bạn có thể sử dụng đối tượng kết nối này để thực thi các truy vấn.

  • Xác định tên cơ sở dữ liệu, tên người dùng và mật khẩu cho kết nối của bạn.

  • Sử dụng kết quả để lấy dữ liệu dựa trên một tên cột từ bảng cơ sở dữ liệu của bạn.

Mã mẫu ở đây:

public class JdbcMySQLExample{

public static void main[String[] args] {

    String url = "jdbc:mysql://localhost:3306/YOUR_DB_NAME?useSSL=false";
    String user = "root";
    String password = "root";
    
    String query = "SELECT * from YOUR_TABLE_NAME";

    try [Connection con = DriverManager.getConnection[url, user, password];
        Statement st = con.createStatement[];
        ResultSet rs = st.executeQuery[query]] {

        if [rs.next[]] {
            
            System.out.println[rs.getString[1]];
        }

    } catch [SQLException ex] {
          System.out.println[ex];
       
    } 
}

Đã trả lời ngày 25 tháng 11 năm 2020 lúc 7:10Nov 25, 2020 at 7:10

Làm cách nào để kết nối cơ sở dữ liệu MySQL và Java?

Trong Java, chúng tôi có thể kết nối với cơ sở dữ liệu của mình [MySQL] với JDBC [kết nối cơ sở dữ liệu Java] thông qua mã Java. JDBC là một trong những API tiêu chuẩn cho kết nối cơ sở dữ liệu, sử dụng nó, chúng tôi có thể dễ dàng chạy truy vấn, câu lệnh và cũng tìm nạp dữ liệu từ cơ sở dữ liệu.with JDBC[Java Database Connectivity] through the Java code. JDBC is one of the standard APIs for database connectivity, using it we can easily run our query, statement, and also fetch data from the database.

Làm thế nào để bạn lấy dữ liệu từ cơ sở dữ liệu?

Tìm nạp dữ liệu từ cơ sở dữ liệu..
Bắt đầu bằng cách tạo một ứng dụng mới ..
Thêm một màn hình vào ứng dụng của bạn. ....
Thêm nguồn dữ liệu vào ứng dụng của bạn bằng cách tham chiếu một số thực thể trong cửa sổ Quản lý phụ thuộc [CTRL+Q]. ....
Xuất bản ứng dụng bằng cách nhấp vào nút xuất bản 1 nhấp chuột. ....
Đã đến lúc tải một số dữ liệu lên màn hình ..

Làm thế nào tìm nạp dữ liệu từ cơ sở dữ liệu trong Java và hiển thị trong bảng?

Bảng điều khiển bắt đầu-Công cụ quản trị-Nguồn dữ liệu [ODBC] -Go to System DSN Tab-Click Thêm nút Xử lý trình điều khiển mà bạn muốn thiết lập nguồn dữ liệu [cho Oracle- oracle trong XE]Kết thúc-gio bất kỳ tên nào trong tên dữ liệu Tên văn bản-hộp-sau đó nhấp vào nút OK.Lớp.FORNAME ["Mặt trời. JDBC.

Làm thế nào để bạn truy vấn một cơ sở dữ liệu trong java?

Bước 1: Phân bổ một đối tượng kết nối, để kết nối với máy chủ cơ sở dữ liệu.Bước 2: Phân bổ một đối tượng câu lệnh, trong kết nối được tạo trước đó, để giữ lệnh SQL.Bước 3: Viết truy vấn SQL và thực thi truy vấn, thông qua câu lệnh và kết nối được tạo.Bước 4: Xử lý kết quả truy vấn.

Bài Viết Liên Quan

Chủ Đề