DAO: Data Access Object
1.PgAdmin4-->new table
tablename: bookinfo
2.DAO
/Daotest/src/com/daotest/SampleDAO1.java
package com.daotest;
import java.sql.*;
import java.util.ArrayList;
public class SampleDAO1 {
private static final String RDB_DRIVER = "org.postgresql.Driver";
private static final String URL = "jdbc:postgresql://localhost:5432/postgres";
private static final String USER = "postgres";
private static final String PASSWORD = "******";
private static Connection getConnection() {
try {
Class.forName(RDB_DRIVER);
Connection con = DriverManager.getConnection(URL, USER, PASSWORD);
return con;
} catch (Exception e) {
throw new IllegalStateException(e);
}
}
public ArrayList<String> selectIsbnAll() {
Connection con = null;
Statement smt = null;
ArrayList<String> list = new ArrayList<String>();
String sql = "SELECT isbn FROM bookinfo ORDER BY isbn";
try {
con = SampleDAO1.getConnection();
smt = con.createStatement();
ResultSet rs = smt.executeQuery(sql);
while (rs.next()) {
list.add(rs.getString("isbn"));
}
} catch (SQLException e) {
System.out.println("Error!\n" + e);
} finally {
if (smt != null) {
try {
smt.close();
} catch (SQLException ignore) {
}
}
if (con != null) {
try {
con.close();
} catch (SQLException ignore) {
}
}
}
return list;
}
public ArrayList<String> selectTitleAll() {
Connection con = null;
Statement smt = null;
ArrayList<String> list = new ArrayList<String>();
String sql = "SELECT title FROM bookinfo ORDER BY isbn";
try {
con = SampleDAO1.getConnection();
smt = con.createStatement();
ResultSet rs = smt.executeQuery(sql);
while (rs.next()) {
list.add(rs.getString("title"));
}
} catch (SQLException e) {
System.out.println("Error!\n" + e);
} finally {
if (smt != null) {
try {
smt.close();
} catch (SQLException ignore) {
}
}
if (con != null) {
try {
con.close();
} catch (SQLException ignore) {
}
}
}
return list;
}
public ArrayList<Integer> selectPriceAll() {
Connection con = null;
Statement smt = null;
ArrayList<Integer> list = new ArrayList<Integer>();
String sql = "SELECT price FROM bookinfo ORDER BY isbn";
try {
con = SampleDAO1.getConnection();
smt = con.createStatement();
ResultSet rs = smt.executeQuery(sql);
while (rs.next()) {
list.add(rs.getInt("price"));
}
} catch (SQLException e) {
System.out.println("Error!\n" + e);
} finally {
if (smt != null) {
try {
smt.close();
} catch (SQLException ignore) {
}
}
if (con != null) {
try {
con.close();
} catch (SQLException ignore) {
}
}
}
return list;
}
public int insertBook(String isbn, String title, int price) {
Connection con = null;
Statement smt = null;
int rowsCount = 0;
String sql = "INSERT INTO bookinfo(isbn, title, price) " + "VALUES('" + isbn + "','" + title + "'," + price
+ ")";
try {
con = SampleDAO1.getConnection();
smt = con.createStatement();
rowsCount = smt.executeUpdate(sql);
}
catch (SQLException e) {
System.out.println("Error happened\n" + e);
} finally {
if (smt != null) {
try {
smt.close();
} catch (SQLException ignore) {
}
}
if (con != null) {
try {
con.close();
} catch (SQLException ignore) {
}
}
}
return rowsCount;
}
}
postgresql-42.7.2.jar
3.
/Daotest/src/com/daotest/InsertProgram1.java
package com.daotest;
import java.util.ArrayList;
public class InsertProgram1 {
private static ArrayList<String> isbnList = null;
private static ArrayList<String> titleList = null;
private static ArrayList<Integer> priceList = null;
public static void main(String[] args) {
try {
SampleDAO1 objDao = new SampleDAO1();
isbnList = objDao.selectIsbnAll();
titleList = objDao.selectTitleAll();
priceList = objDao.selectPriceAll();
System.out.println("---Before SQL execute---");
display();
int rowsCount = objDao.insertBook("9", "Photoshop", 8200);
if (rowsCount > 0) {
System.out.println(rowsCount + "record registered\n");
}
isbnList = objDao.selectIsbnAll();
titleList = objDao.selectTitleAll();
priceList = objDao.selectPriceAll();
System.out.println("---After SQL execute---");
display();
} catch (Exception e) {
System.out.println("Error happened" + e);
}
}
private static void display() {
for (int i = 0; i < isbnList.size(); i++) {
System.out.println("ISBN->" + isbnList.get(i) + "\t");
System.out.println("Title->" + titleList.get(i) + "\t");
System.out.println("Price->" + priceList.get(i) + "\t");
}
System.out.println();
}
}
4.Run
---Before SQL execute---
ISBN->1
Title->Java
Price->2000
ISBN->2
Title->C
Price->3000
ISBN->3
Title->C
Price->3000
ISBN->4
Title->HTML
Price->1000
ISBN->5
Title->Spring
Price->1200
ISBN->7
Title->VF
Price->5200
ISBN->8
Title->CSS
Price->6200
1record registered
---After SQL execute---
ISBN->1
Title->Java
Price->2000
ISBN->2
Title->C
Price->3000
ISBN->3
Title->C
Price->3000
ISBN->4
Title->HTML
Price->1000
ISBN->5
Title->Spring
Price->1200
ISBN->7
Title->VF
Price->5200
ISBN->8
Title->CSS
Price->6200
ISBN->9
Title->Photoshop
Price->8200