J public static yoid mainString[] args @ J Constructors from superclass Inherited abstract methods Do you want to add comments?. J public static yoid mainString[] args J Constructors
Trang 1Bài thực hành 10 Doc/ghi File, kết nối csdl
1 Mục tiêu
* Nam vững cách đọc/ghi file với luồng byte và luồng character
« - Đọc/ghi với danh sách các đối tượng
2 Bai tap Step by step
1 Bài thực hành 1 - Xây dựng ứng dụng Java Application sw dung lớp
DataOutputStream để ghi vào các dữ liệu sau:
Trang 2
KH New Java Project
Create a Java Project
Create a Java project in the workspace or in an external location (3
Project name: | JavaCore_Lab12| |
Use default location
CUsers\BUI THANH HAI\eclipse-workspace\JavaCore_Lab12 Browse
JRE
@ Use an execution environment JRE: JavaSE-1.8 v
O Use default JRE 'jdk-17.0.1' and workspace compiler preferences nfigure JREs
Project layout
OUse project folder as root for sources and class files
@ Create separate folders for sources and class files Configure default
Trang 3
Source folder: | JavaCore_Lab12/src | Browse
Package: 1 lab12 | Browse
Modifiers: @ public O package private protected
LJabstract [ ]final static
Interfaces: Add
Remove
Which method stubs would you like to create?
(J public static yoid main(String[] args)
@
(J Constructors from superclass
Inherited abstract methods
Do you want to add comments? (Configure templates and default value here)
Trang 4String hoten, quequan, Lophoc;
Integer tuoi;
Scanner sc = new Scanner(System.in);
ghi.writeUTF (quequan) ; ghi.wr1teUTF (Lophoc) ;
Trang 5
Create a new Java class @
Source folder: | JavaCore_Lab12/src | Browse
Package: | lab12 | Browse
Name: | BaiThucHanh12_02_DocDL |
Modifiers: @ public O package private protected
LJabstract [ ]final static
Interfaces: Add
Remove
Which method stubs would you like to create?
(J public static yoid main(String[] args)
(J Constructors from superclass
Inherited abstract methods
Do you want to add comments? (Configure templates and default value here)
import java.io IOException;
public class BaiThucHanh12_92_DocDL {
public static void main(String[] args) { String hoten, quequan, Lophoc;
Integer tuoi;
Page | 5
Trang 6DataInputStream doc;
try {
FileInputStream("src/lab12/thongtin.txt"));
hoten = doc readUTF({);
tuoi = doc readiInt();
quequan = doc readUTF ();
e.printStackTrace();
} catch (IOException e) { // TODO Auto-generated catch block
e.printStackTrace();
Step 6: Chay thi chương trình
Chạy file ghi dữ liệu
@ eclipse-workspace - JavaCore Lab 12/src/lab12/BaiThucHanh12 | Eclipse IDE o x
File Edit Refactor Source Navigate Search Project Bu
Help
oe Oe RiO RGF re OvrG-Q~ B-S-|S SS Grier Hrego-o-|m Q iB eo ee
@ |$) Problems @ Isvadee (if, Declaration E) Console X 4% Debug x %/ RAB Se ~ ~Mrce zœ BsiThucHsnh12_01_GhiDL [Java Application] C:\Program Files\lava\jdk-17.0.1\bin\javaw.exe (Jun 17, 2022, 5:34:30 PIMI— 6:34:43 PM), E
Trang 7@ eclipse-workspace - JavaCore Lab 12/src/labt2/BaiThucHanh12_02 DocDLjava - Eclipse IDE o x
File Refactor Source Navigate Search Project Run Window Help
Z::® BH Sr-iF #*OryQ~+(Qx- s« «| Qx:@p ý v xvfyvGc7oœvov|rtÐ Q :m| |
@ lsvsdec [GÌ Declaration EJ Console x 4 Debug * % RBS) ~ 9 x 2
ocDL [Java Application] C:\Program Files\Java\jdk-17.0.1\bin\javew.exe (Jun 17, 2022, 64050 PM — 6:40:50 PM) E
2 Bài thực hành 2 - Xây dựng ứng dụng Java Application sử dụng lớp
BuffferedWriter để ghi bài thơ sau xuống file:
Bai tho: Day Thon Vi Da (Han Mac Tu) Sao anh khong ve choi Thon Vi?
Nhin nang hang cau nang moi len Vuon ai muot qua xanh nhu ngoc
La truc che ngang mat chu dien
Gio theo loi gio may duong may Dong nuoc buon thiu, hoa bap lay
Thuyen ai dau ben song trang do
Co cho trang ve kip toi nay?
Mo khach duong xa khach duong xa
Ao em trang qua nhin khong ra
Page | 7
Trang 8O day suong khoi mo nhan anh
Ai biet tinh ai co dam da?
Sử dụng lop BufferedReader dé đọc và hiển thị nội dung của bài thơ trên ra màn hình console
Step 1: Tao class BaiThucHanh12_02_GhiDL
Java Class
Create a new Java class @
Source folder: | JavaCore_Lab12/src | Browse
Package: | lab12 | Browse
Modifiers: @ public O package private protected
Interfaces: Add
Remove
Which method stubs would you like to create?
(_] public static yoid main(String[] args) (_] Constructors from superclass
Inherited abstract methods
Do you want to add comments? (Configure templates and default value here)
Trang 9import java.io.Bufferedwriter;
import java.io.Filewriter;
import java.io IOException;
public class BaiThucHanh12_92_GhiDL {
public static void main(String[] args) { BufferedWriter ghi = null;
ghi.write("Ai biet tinh ai co dam da?\n");
System.out.printtn("Da ghi xong");
Trang 10
Java Class
Create a new Java class @
Source folder: | lavaCore_Lab12/src | Browse
Package: | lab12 | Browse
Name: | BaiThucHanh12_02_DocBaiTho |
[ labstract L ]final static
Interfaces: Add
Remove
Which method stubs would you like to create?
(J public static void main(String[] args)
(J Constructors from superclass
| Inherited abstract methods
Do you want to add comments? (Configure templates and default value here)
import java.io IOException;
public class BaiThucHanh12_92_DocBaiTho {
public static void main(String[] args) {
BufferedReader doc = null;
Page | 10
Trang 11ir B:»| |Sz:®:# @-:ý #+O+Q + Qv sẻ Rv| Qyi@® @ v0 vũ Ý Go} Gv £ Q :m|ị® ®&
£ [Fl Problems @ Javadoc x He Debug xi 3 832 S| 3 rR es
2] C:\Program Files\Jeve\jdk-17.0.1\bin\jevawe.exe (Jun 17, 2022, 6:48 17 PMA ~ 6:48:17 PM) a Tu)
Trang 12" String bookName;
" String author;
« String publisher;
se Tao cac constructor và các phương thức getter/setter
» - Cài đặt phương thức toString() để hiển thị thông tin Book
2 Tạo lớp WriteBook thực hiện các công việc sau:
- _ Nhập vào thông tin một danh sách các cuốn sách
- _ Ghi danh sách này xuống file “book.txt”
3 Tạo lớp ReadBook thực hiện các công việc sau:
- _ Đọc dữ liệu từ file “book.txt và lưu vào một collection
- _ Hiền thị thông tin các cuốn sách đọc được từ file
- Hién thi thông tin những cuốn sách có giá bán từ 100000 đến 200000 Step 1: Tạo class Book
Create a new Java class @
Source folder: | JavaCore_Lab12/src Browse
Package: lab12 Browse
LJ Enclosing type:
Name: | Book
Modifiers: @ public O package private protected
LJabstract [] final c Superclass: Java.lang.Object Browse
Interfaces: Add
Which method stubs would you like to create?
(J public static yoid main(String[] args)
(_] Constructors from superclass
Inherited abstract methods
Do you want to add comments? (Configure templates and default value here)
L] Generate comments
Trang 13
Step 2: Cài đặt code cho class này như sau
package Lab12;
import java.util.Scanner;
public class Book implements Serializable {
private String isbn;
private String bookName;
private String author;
private String publisher;
private Float price;
} public void setIsbn(String isbn) { this.isbn = isbn;
} public String getBookName() { return bookName;
public void setBookName(String bookName) { this bookName = bookName;
} pubLic String getAuthor() { return author;
} pubLic void setAuthor(String author) { this.author = author;
} public String getPublisher() { return publisher;
} public void setPublisher(String publisher) { this.publisher = publisher;
Page | 13
Trang 14} public Float getPrice() {
return price;
public void setPrice(Float price) { this.price = price;
}
pubLic void input() {
+ "\n\tGia tiéN: " + price;
}
Step 3: Tạo class WriteBook
Page | 14
Trang 15
Create a new Java class @
Source folder: | JavaCore_Lab12/src | Browse
Package: | lab12 | Browse
L ]abstract [] final static
Interfaces: Add
Remove
Which method stubs would you like to create?
(J public static yoid main(String[] args)
(J Constructors from superclass
Do you want to add comments? (Configure templates and default value here)
public class WriteBook {
public static void main(String[] args) {
Page | 15
Trang 16List<Book> List = new ArrayList<>();
Book b = new Book();
b.input();
1ist.add(b);
} ObjectOutputStream ghi = null;
Trang 17
Create a new Java class @
Source folder: | JavaCore_Lab12/src | Browse
Package: | lab12 | Browse
L ]abstract [] final static
Interfaces: Add
Remove
Which method stubs would you like to create?
(J public static yoid main(String[] args)
(J Constructors from superclass
Inherited abstract methods
Do you want to add comments? (Configure templates and default value here)
Trang 18public static void main(String[] args) { List<Book> List = new ArrayList<>();
for (Book book : list) f
if (book getPrice()>=100000 &
book.getPrice()<=200000) {
System.out.println (book);
found++;
} } System.outf.printLn("Có :"+found+" sách được tìm
Trang 19]@ eclipse-workspace - JavaCore Lab 12/src/lab12/WriteBookjava - Eclipse IDE
File Edit Source Refactor Navigate Search Project Bun Window Help
ae @ a] 8¿12 5SZ::®:H Gy:?P 4e t+t+ OrxQx+Q- m« R.«| Qx;@œ ýv:iÊix
@ [$) Problems @ Javadee [ŒỀ Declaration E) Console x
|g <terminsted> WriteBook [Jave Application] C:\Program Files\sva\jdk-17.0.1\bin\javaw.exe (un 17, 2022, 7:06:35 PM 7:07:36 PM)
{GF eclipse-workspace - JavaCore Lab 12/src/lab12/ReadBook java - Eclipse IDE
File Edit Source Refactor Navigate Search Project Bun Window Help
@ [fl Problems @ Javadee (i, Declaration E) Console X $$ Debug
|§ <terminsted> ReadBock [Java Application] CAProgram Files\ava\jdk-17.0.1\bin\jevaw-eve (Jun 17, 2022, 7:08:00 PM - 7:08:01 PM)
MS sách: 862
Tên sách: Truyện Tranh
Tắc giả: N hanh Lâm
Trang 203 Bài tập tự làm
Xây dựng ứng dụng Java:
1 Tạo lớp Product có:
e - các thuộc tính s_Gtring prold
= String proName
" String producer
» int yearMarking
# float price
* (C6 cac constructor và các phương thức getter/setter
» - Ghi đè phương thức toString() để hiển thị thông tin Product
2 Tạo lớp ProductManagement thực hiện các chức năng theo menu sau:
kkư tk xxx xxx xxx xxx xxx M E N U****z*xxxxx*x*xtttttsskssedkts
Nhập thông tin n sản phẩm Sắp xếp sản phẩm theo giá tăng dần Hiển thị thông tin sản phẩm Ghi tất cả các sản phẩm có giá lớn hơn 500.000 ra file product.txt Đọc file product.tx† và hiển thị ra các sản phẩm có giá nhỏ hơn 1.000.000 Thoát
Trang 21Xây dựng ứng dụng Java kết nói tới Database
thông qua JDBC
4 Mục tiêu
* Tao duoc database va cac tables cho ung dung trong csdi SQL Server
« Nắm được các bước đề thực hiện tương tác với csdI SQL Server từ chương trình Java
« _ Cài đặt các hàm đề thực hiện các thao tác CRUD trong lớp DAO
¢ Tao menu va thuc hiện các công việc CRUD theo menu của chương trình
5 Bai tap step by step
4 Bài thực hành 1
- Tạo CSDL sau cho ứng dụng
+ Database: DB_JDBC_Exam01 + Tạo bảng: Product
Prold int = identity Mã sản phẩm — Khóa chính
Bước 1: Tạo database cho ứng dụng
Tạo database như sau trong CSDL SQL Server
create database DB_JDBC_Exam01
go
use DB_JDBC_Exam@1
Page | 21
Trang 22
go
create table Product(
ProId int identity primary key, ProName nvarchar (166), Producer nvarchar(100),
YearMaking int,
ExpireDate datetime, Price float)
Bước 2: Tao mdi project trong eclipse
File / New / Other / Java Project
Ss New Java Project
Create a Java Project
Project name: | JavaCore_Lab14|
@ Use an execution environment JRE: JavaSE-1.8
O Use default JRE ‘jdk-17.0.1' and workspace compiler preferences
Project layout
Ouse project folder as root for sources and class files
@ Create separate folders for sources and class files
Configure JREs
Configure default Working sets
Select Module
Create module-info.java file
(@_ The default compiler compliance level for the current workspace is 16 The new project will use a project specific compiler `
< Back bet Ce
Trang 23
Bước 3: Add gói thư viện kết nói sqljdbc4.jar vào project
Right click project / Properties / Java Build Path / Libraries / Add External JARs Tìm và add gói thư viện sqljdbc4-4.0.jar vào
Ss Properties for JavaCore_Lab14
type filter text
Resource
Builders
Coverage
Hibernate Settings
Java Build Path
Java Code Style
JARs and class folders on the build path:
a sqljdbe4-4.0,jar - D:\BKAptech\ThuVien_ckeditor_ck_finder Add JARs
mA JRE System Library [JavaSE-1.8]
Add External JARs Add Variable Add Library Add Class Folder Add External Class Folder
Bước 4: Tạo class đóng/mở kết nói
Right click src / new / Class -> Đặt tên class, tên package
Page | 23
Trang 24
Java Class
Create a new Java class @
Source folder: | JavaCore_Lab14/sre | Browse
Package: 1 db | Browse
[ labstract L ]final static
(J public static void main(String[] args)
(J Constructors from superclass
| Inherited abstract methods
Do you want to add comments? (Configure templates and default value here)
public class DBUtility {
public static Connection openConnection() { Connection con = null;
try f{
Page | 24
Trang 25CLass forName ( "com m1crosoft sqLserver Jdbc SQLServerDriver*”);
if (con!=null)
try { con.close();
} catch (SQLException e) {
e.printStackTrace();
}
Bước 6: Tạo class Project
Right click src / New / Class -> Dat tên class, tên package
Page | 25
Trang 26
{SB New Java Class n x
| Java Class
Create a new Java class
Source folder: JavaCore_Lab14/src Browse
Package: 1 entity| Browse
CJ Enclosing type: Browse
Name: | Product |
Modifiers: @ public O package private protected
(Jabstract []final static Superclass: | java.lang.Object } Browse
Interfaces: Add
Remove
Which method stubs would you like to create?
L1 public static void main(String[] args)
(J Constructors from superclass
M Inherited abstract methods
| Do you want to add comments? (Configure templates and default value here)
| ® () Generate comments Cone
Bước 7: Cài đặt code cho class này như sau
package entity;
import java.util.Date;
public class Product {
private Integer prold;
private String proName;
private String producer;
private Integer yearMaking;
private Date expireDate;
private Double price;