Truy vấn dữ liệu trong java với JDBC

Thông qua ví dụ bên dưới chúng ta sẽ tìm hiểu làm sao để truy vấn dữ liệu trong java với JDBC. Trước hết các bạn cần có database, ở đây mình sẽ dùng Mysql. Các bạn có thể dùng nhiều cách để cài đặt môi trường Mysql. Hiện tại mình đang dùng database MySql được cài đặt sẵn trong Xampp.

Trường hợp cái đặt trên linux có thể tham khảo ở đây.

1. Tạo database, table

Các bạn có thể sử dụng một số lệnh cơ bản dưới đấy để tạo database mới và table để làm ví dụ.

Login vào môi trường mysql

# mysql -u root -p
Enter password: ****
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.1.16-MariaDB mariadb.org binary distribution

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

List danh sách các database

MariaDB [(none)]# show data
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| phpmyadmin |
| test |
+--------------------+
5 rows in set (0.03 sec)

Tạo databse mới ( mình sẽ tạo database là loopTest )

MariaDB [(none)]# create database loopTest charset utf8;
Query OK, 1 row affected (0.00 sec)

Tạo table ( ở đây mình sẽ tạo table userLogin gồm 2 trường userN và passW )

MariaDB [(none)]# use loopTest;
Database changed
MariaDB [loopTest]# create table userlogin(userN char(8), passW char(10));
Query OK, 0 rows affected (0.30 sec)

Insert thêm bản ghi để lấy dữ liệu truy vấn

MariaDB [loopTest]# insert into userlogin values ('loopUse1','loopPass1');
Query OK, 1 row affected (0.06 sec)

MariaDB [loopTest]# insert into userlogin values ('loopUse2','loopPass2');
Query OK, 1 row affected, 1 warning (0.05 sec)

Truy vấn lại kết quả vừa insert

MariaDB [loopTest]# select * from userlogin;
+----------+-----------+
| userN | passW |
+----------+-----------+
| loopUse1 | loopPass1 |
| loopUse2 | loopPass2 |
+----------+-----------+
 2 rows in set (0.00 sec)

Như vậy là chúng ta đã chuẩn bị xong database để test. Hãy tạo code như bên dưới:

Tạo class SelectDataMysql.java

package com.loop.sql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class SelectDataMysql {

  /**
  * Create by Cuder
  */
  public static void main(String[] args) throws SQLException {
    Connection con = null;
    Statement stmt = null;
    ResultSet rs = null;
    try {
      Class.forName("com.mysql.jdbc.Driver");
      con = DriverManager.getConnection("jdbc:mysql://localhost:3306/loopTest", "root", "root");
      stmt = con.createStatement();
      rs = stmt.executeQuery("select * from userlogin");
      while (rs.next()) {
        System.out.println(rs.getString(1) + " " + rs.getString(2));
      }
    } catch (Exception e) {
      System.out.println(e);
    } finally {
      if (null != rs) {
        rs.close();
      }
      if (null != stmt) {
        stmt.close();
      }
      if (null != con) {
        con.close();
      }
    }
  }
}

Kết quả :

loopUse1 loopPass1
loopUse2 loopPass2

Chú ý : Là trong project phải có thư viện jdbc của mysql nhé. Bạn có thể download ở đây (Mình đang dùng bản com.mysql.jdbc_5.1.5.jar)

5 (100%) 1 vote
Click Here to Leave a Comment Below 0 comments