By GokiSoft.com|
15:05 21/07/2023|
Java Advanced
[Share Code] Tìm hiểu về JDBC - Kết nối CSDL - C2209I
Nội dung kiến thức:
- Chữa bài tập -> Thread
- CSDL & Java Swing
B1) Thiet lap duoc moi truong CSDL (MySQL (XAMPP), SQL Server)
B2) Tao CSDL + Tables
create table students (
id int primary key auto_increment,
fullname varchar(50),
birthday varchar(20),
email varchar(150),
address varchar(200)
)
B3) Tao du lieu mau -> Viet chuong trinh cho de.
B4) Tao project Java
B5) Tai thu vien JDBC
B6) ORM: tables <-> Class Object (Java) -> Model (Entity)
B7) CRUD -> select, insert, update, delete -> sync Model <-> Table Database
#BaseCRUD.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.java2.lesson06;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author teacher
*/
public class BaseCRUD {
static final String DB_NAME = "c2209i";
static final String DB_USERNAME = "root";
static final String DB_PWD = "";
static Connection conn = null;
static PreparedStatement statement = null;
static void connect() {
try {
//Ket noi CSDL -> doc du lieu ra
//B1. Mo ket noi CSDL
conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/" + DB_NAME, DB_USERNAME, DB_PWD);
} catch (SQLException ex) {
Logger.getLogger(BaseCRUD.class.getName()).log(Level.SEVERE, null, ex);
}
}
static void disconnect() {
//B3. Dong ket noi
if (statement != null) {
try {
statement.close();
} catch (SQLException ex) {
Logger.getLogger(BaseCRUD.class.getName()).log(Level.SEVERE, null, ex);
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException ex) {
Logger.getLogger(BaseCRUD.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
#Main.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.java2.lesson06;
import java.util.List;
/**
* https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.33
* @author teacher
*/
public class Main {
public static void main(String[] args) {
List<Students> dataList = StudentsCRUD.getList();
for (Students students : dataList) {
System.out.println(students);
}
// Students std = new Students(0, "TRAN VAN B", "NGAY SINH", "B@GMAIL.COM", "HA NOI");
// StudentsCRUD.insert(std);
}
}
#Students.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.java2.lesson06;
/**
*
* @author teacher
*/
public class Students {
int id;
String fullname;
String birthday;
String email;
String address;
public Students() {
}
public Students(int id, String fullname, String birthday, String email, String address) {
this.id = id;
this.fullname = fullname;
this.birthday = birthday;
this.email = email;
this.address = address;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFullname() {
return fullname;
}
public void setFullname(String fullname) {
this.fullname = fullname;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "id=" + id + ", fullname=" + fullname + ", birthday=" + birthday + ", email=" + email + ", address=" + address;
}
}
#StudentsCRUD.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.java2.lesson06;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author teacher
*/
public class StudentsCRUD extends BaseCRUD {
public static List<Students> getList() {
List<Students> dataList = new ArrayList<>();
connect();
//B2. Viet truy van de lay du lieu
try {
String sql = "select * from students";
statement = conn.prepareStatement(sql);
ResultSet set = statement.executeQuery();
while (set.next()) {
Students std = new Students(
set.getInt("id"),
set.getString("fullname"),
set.getString("birthday"),
set.getString("email"),
set.getString("address")
);
dataList.add(std);
}
} catch (SQLException e) {
}
disconnect();
return dataList;
}
public static void insert(Students std) {
connect();
try {
//B2. Viet truy van de lay du lieu
String sql = "insert into students(fullname, birthday, email, address) values (?, ?, ?, ?)";
statement = conn.prepareStatement(sql);
statement.setString(1, std.getFullname());
statement.setString(2, std.getBirthday());
statement.setString(3, std.getEmail());
statement.setString(4, std.getAddress());
statement.execute();
} catch (SQLException e) {
}
disconnect();
}
public static void update(Students std) {
}
public static void delete(int id) {
}
public static Students findByID(int id) {
return null;
}
}
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)