Bootstrap

JavaApi.Dao模式

Dao模式

回顾

  • 增删改

    • 连接对象

    • 执行对象

    • 连接对象

    • 执行对象

    • 结果集

项目结构---包命名的规范

  • com.zking.util:提供工具类和辅助方法,增强代码的复用性和可维护性。(帮助类)

  • com.zking.pojo:存放实体类,表示业务对象,确保数据的一致性和完整性。

  • com.zking.dao:负责数据访问操作,实现与数据库的交互,确保数据的持久化。(增删改查的方法)

  • com.zking.test:编写测试用例,确保代码的正确性和系统的稳定性。(用户输入)

数据库帮助类DBHelp编写

  • 加载驱动

static {
    try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
}
  • 获得连接

public static Connection getCon() {
    Connection con = null;
    try {
        con = DriverManager.getConnection("jdbc:mysql: / localhost:3306/数据库名?
serverTimezone=GMT", "用户名","密码");
    } catch (Exception e) {
        e.printStackTrace();
    }
    return con;
}
  • 关闭资源

public static void close(Connection con, PreparedStatement ps, ResultSet rs) {
    try {
        if (con != null)
            con.close();
        if (ps != null)
            ps.close();
        if (rs != null)
            rs.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

实体类编写

  • 实体类(Plain Old Java Object,简称 POJO)是一种简单的 Java 对象,用于表示应用程序中的业务对象或数据模型。

  • 实体类通常与数据库中的表相对应,每个属性代表表中的一个字段。

  • 实体类的主要目的是封装数据,并提供对这些数据的访问方法(即 getter 和 setter 方法)。

1. 属性(Fields):
    实体类的属性通常对应于数据库表中的字段。这些属性可以是基本数据类型(如 int、double、String 等)或复杂数据类型(如 Date、List 等)。
    属性通常是私有的(private),以确保封装性。
2. 构造函数:
    无参构造函数:通常提供一个无参构造函数,以便在需要时创建空的对象实例。
    带参数的构造函数:提供一个或多个带参数的构造函数,用于在创建对象时初始化属性。
3. Getter 和 Setter 方法
4. 重写 toString 方法:方法可以方便地输出对象的信息,便于调试和日志记录。

数据操作类 MovieDao编写---重复的代码写到一个方法里面

private Connection con;
private PreparedStatement ps;
private ResultSet rs;
//增加
public int add(Movie m) {
    try {
        con = DBHelper.getCon();
        String sql="";
        ps=con.prepareStatement(sql);
        return ps.executeUpdate();
    } catch (Exception e) {
        e.printStackTrace();
    }final{
        ps.close(con,ps,rs);
    }
    return 0;
}
//查询多个
public List<Movie> query() {
    List<Movie> list=new arrayList();
    try {
        con = DBHelper.getCon();
        String sql = "";
        ps = con.prepareStatement(sql);
        rs = ps.executeQuery();
        while (rs.next()) {
        
        }
    } catch (Exception e) {
        e.printStackTrace();
    }final{
        ps.close(con,ps,rs);
    }
    return list;
}
//查询单个
public Movie query(int a) {
    try {
        con = DBHelper.getCon();
        String sql = "select * from 表名 where id = ?";
        ps = con.prepareStatement(sql);
        rs = ps.executeQuery();
        ps.setInt(1,a);
        if(rs.next()) {
        
        }
    } catch (Exception e) {
        e.printStackTrace();
    }final{
        ps.close(con,ps,rs);
    }
    return list;
}
;