DAO模式中的实体类

实体类:用于存放与传输对象数据。

特征:

实体类的属性一般使用private修饰。

根据业务需要和封装要求对实体类的属性提供getter/setter方法,负责属性的读取和赋值,一般用public修饰。

对实体类提供无参构造方法,根据业务需求提供相应的有参构造方法。

实体类最好实现java.io.Serializable接口,支持序列化机制,可以将对象转换成字节序列而保存在磁盘上或在网络上传输。

如果实体类实现了java.io.Serializable接口,就应该定义属性serialVersionUID,解决不同版本之间的序列化问题。


复:JDBC访问数据库的步骤

1、加载驱动
Class.forName("com.mysql.jdbc.Driver");

2、建立连接
conn = DriverManager.getConnection(url,user,password);
3、创建statement对象(用来执行SQL语句)
Statement stmt = conn.createStatement();
4、执行SQL并返回结果
rs = stmt.executeQuery("SELECT id,stuName, password, mobile , email, address FROM student");

System.out.println("成功连接"); 

5、处理结果

while(rs.next()){

int a = rs.getInt("id");

String b = rs.getString("stuName");

String c = rs.getString("password");

String d = rs.getString("mobile");

String e = rs.getString("email");

String f = rs.getString("address");

System.out.println(a+"\t"+b+"\t"+c+"\t"+d+"\t"+e+"\t"+f);
}

6、关闭ResultSet、Statement和数据库连接

try {
if (null != rs) {
rs.close();
}
if (null != pstmt) {
pstmt.close();
}
if (null != conn) {
conn.close();
}

### DAO层中是否使用实体类DAO层的设计和实现中,**实体类的使用是非常常见且必要的**。实体类用于映射数据库中的表结构,通常与数据库中的字段一一对应,承载数据的传输和持久化任务。在DAO层中,数据库查询结果会被封装成实体类对象,或者通过实体类对象进行数据的持久化操作。 例如,在DAO层中定义的接口方法 `User findById(Long id)` 返回的 `User` 就是一个实体类,该类通常包含与数据库表字段相对应的属性,并通过getter和setter方法进行访问和赋值。这种设计使得数据库操作更加直观和面向对象化。 ```java public class User { private Long id; private String name; // 构造方法、getter、setter } ``` 在DAO层的具体实现中,数据库查询返回的 `ResultSet` 会被转换为实体类对象。例如,在JDBC实现中,会从结果集中提取数据并赋值给实体类的属性,从而生成一个完整的业务数据对象。 ```java @Override public User findById(Long id) { String sql = "SELECT * FROM users WHERE id = ?"; try (PreparedStatement stmt = connection.prepareStatement(sql)) { stmt.setLong(1, id); ResultSet rs = stmt.executeQuery(); if (rs.next()) { return new User(rs.getLong("id"), rs.getString("name")); } } catch (SQLException e) { e.printStackTrace(); } return null; } ``` 这种设计模式使得DAO层与数据库表结构解耦,同时通过实体类保持数据的一致性和可操作性。此外,实体类还可以用于参数传递,例如在 `void save(User user)` 方法中,将实体类对象作为参数传入DAO层,用于执行插入操作。 实体类的命名方式在不同项目中可能有所不同,常见的有 `POJO`(Plain Old Java Object)、`Model`、`Domain` 或 `DTO`(Data Transfer Object)等形式。尽管名称不同,但其核心作用都是在数据访问层与业务逻辑层之间传递数据,并保持与数据库结构的一致性[^3]。 ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值