当前位置: 首页 > news >正文

数据访问层如何提取数据到其他层,其他类中

当然可以,以下是一些具体的例子,展示了如何将数据库访问逻辑封装在一个单独的类中,并在其他类中使用这个类来获取数据。

数据库访问类(DatabaseAccess.java)

 

java复制代码

import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class DatabaseAccess {
private String jdbcURL = "jdbc:mysql://localhost:3306/your_database_name";
private String jdbcUsername = "your_database_username";
private String jdbcPassword = "your_database_password";
public List<User> getAllUsers() {
List<User> users = new ArrayList<>();
String sql = "SELECT * FROM users";
try (Connection conn = DriverManager.getConnection(jdbcURL, jdbcUsername, jdbcPassword);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)) {
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setEmail(rs.getString("email"));
users.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
}
return users;
}
}

用户类(User.java)

 

java复制代码

public class User {
private int id;
private String name;
private String email;
// Getters and Setters
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}

使用数据库访问类的其他类(Application.java)

 

java复制代码

public class Application {
public static void main(String[] args) {
DatabaseAccess dbAccess = new DatabaseAccess();
List<User> users = dbAccess.getAllUsers();
for (User user : users) {
System.out.println("ID: " + user.getId() + ", Name: " + user.getName() + ", Email: " + user.getEmail());
}
}
}

在这个例子中,DatabaseAccess类负责处理与数据库的连接和查询,并提供了一个getAllUsers方法来获取所有用户的数据。User类是一个简单的JavaBean,用于表示用户的信息。Application类是一个应用程序的入口点,它创建了DatabaseAccess的实例,并调用了getAllUsers方法来获取用户数据,然后遍历并打印出每个用户的信息。

http://www.lryc.cn/news/386446.html

相关文章:

  • 【JS】AI总结:JavaScript中常用的判空方法
  • Rust单元测试、集成测试
  • vue全局方法plugins/utils
  • 高阶算法班从入门到精通之路
  • C++ 左值右值
  • [数据集][目标检测]水面垃圾水面漂浮物检测数据集VOC+YOLO格式3749张1类别
  • [深度学习] 卷积神经网络CNN
  • 区别QPushButton和QToolButton
  • 【Python】已解决:TypeError: Object of type JpegImageFile is not JSON serializable
  • 超简单的nodejs使用log4js保存日志到本地(可直接复制使用)
  • Python面试宝典第1题:两数之和
  • fastapi集成jwt
  • 自定义一个背景图片的高度,随着容器高度的变化而变化,小于图片的高度时裁剪,大于时拉伸100%展示
  • iPhone怎么恢复删除的数据?几款顶级iPhone数据恢复软件
  • macOS 上或linux安装 Jenkins
  • axios发送数据的几种方式
  • 示例:WPF中推荐一个Diagram开源流程图控件
  • 离线安装kubesphere-详细操作,以及报错
  • Python Coala库:代码质量检查与自动化修复的利器
  • MyBatis(12)MyBatis 映射文件中的 resultMap
  • C语言从入门到进阶(15万字总结)
  • Java---Maven详解
  • 服务器日志事件ID4107:从自动更新 cab 中提取第三方的根目录列表失败,错误为: 已处理证书链,但是在不受信任提供程序信任的根证书中终止。
  • 【高级篇】MySQL集群与分布式:构建弹性和高效的数据服务(十四)
  • vue3 学习记录
  • spring boot jar 启动报错 Zip64 archives are not supported
  • BASH and SH in SHELL scripts
  • Qt Creator创建一个用户登录界面
  • 等保测评练习卷14
  • 学懂C#编程:常用高级技术——学会C#多线程开发(三):学会线程池的使用