DAO Java

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

/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

相关推荐
认真的酒窝2 小时前
自己动手开发编译器(十一)语义分析
java·开发语言
白帽小丑2 小时前
# 一次 MySQL DELETE 误操作的数据恢复尝试实录
数据库·mysql
wbs_scy4 小时前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录9174 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
贪玩的蛋挞4 小时前
C#与闭包
开发语言·c#
端庄的战斗机4 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
Quincy_Freak5 小时前
信创内网数据规范实践:银河麒麟下SQLite本地数据安全管理方案
数据库·sqlite·arm·数据库管理·大数据分析·银河麒麟·aarch64
Full Stack Developme5 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
2601_962683897 小时前
治理遗留系统中的“生肉 SQL”:一次用多模型协作优化慢查询的实战复盘
数据库·人工智能·sql
C语言小火车7 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序