jdbc七步骤
1.加载驱动
2.创建连接
3.写sql
4.得到statement对象
5.执行sql得到结果集
6.处理结果集
7.关闭资源
对应到代码里
public List<UserInfo> findAll() {
ResultSet rs = null;
PreparedStatement statement = null;
Connection connection = null;
List<UserInfo> list = new ArrayList<>();
try {
connection = util.connect.connecting();
if (connection != null) {
System.out.println("创建连接成功");
}
//3.写sql
String sql = "select * from userinfo";
//4.得到statement对象
statement = connection.prepareStatement(sql);
//5.执行sql得到结果集
rs = statement.executeQuery();
//6.处理解果集
while (rs.next()) {
UserInfo u = new UserInfo();
u.setId(rs.getInt(1));
u.setUsername(rs.getString(2));
u.setPassword(rs.getString(3));
list.add(u);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
//7.关闭资源
util.connect.close(rs, statement, connection);
}
return list;
}
BEAN类
作用:
1、所有属性为private
2、提供默认构造方法
3、提供getter和setter
4、实现serializable接口
为实体类
1.构造方法
2.属性
3.getset
4.tostring
代码中的使用:
public class UserInfo {
private int id;
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
Dao类
简介:在计算机软件中,数据访问对象(data access object,DAO)是为某种类型的数据库或其他持久性机制提供一个抽象接口的对象。通过映射应用程序对持久层的调用,DAO提供一些特定的数据操作,而无需暴露数据库细节。这种隔离支持单一功能原则。它分离了应用程序需要访问哪些数据,就域特定对象和数据类型(DAO的公共接口),而言,这些需求可以用数据库管理系统(DBMS)、数据库模式等满足(DAO的实现)。
DAO 模式的优势就在于它实现了两次隔离
1、隔离了数据访问代码和业务逻辑代码。业务逻辑代码直接调用DAO方法即可,完全感觉不到数据库表的存在。分工明确,数据访问层代码变化不影响业务逻辑代码,这符合单一职能原则,降低了藕合性,提高了可复用性。
2、隔离了不同数据库实现。采用面向接口编程,如果底层数据库变化,如由 MySQL 变成 Oracle 只要增加 DAO 接口的新实现类即可,原有 MySQ 实现不用修改。这符合 “开-闭” 原则。该原则降低了代码的藕合性,提高了代码扩展性和系统的可移植性。
封装
将数据库操作封装到Dao中,信息封装到bean中
结构如下: