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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值