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;
}
889

被折叠的 条评论
为什么被折叠?



