本文共 3999 字,大约阅读时间需要 13 分钟。
ORM(Object-Relational Mapping,对象关系映射)是一种用于数据库管理的技术,通过将数据库中的零散数据进行封装管理,提高数据处理效率。传统数据库操作方式可能导致数据丢失或无法调用,这是因为每次查询都直接处理字符串变量,容易被覆盖。
为了解决这一问题,将多个数据封装到一个对象中,再将多个对象存储在集合中,形成一个规范化的数据处理流程。这样既保证了数据的一致性,又方便了数据的复用和管理。
以下是实现这一目标的具体代码和工具类:
数据封装类:register.java
package jdbc;public class register { private String id; private String user; private String password; public register() { // 默认构造函数,无参数调用 } public register(String id, String user, String password) { super(); this.id = id; this.user = user; this.password = password; } // getter和setter方法 public String getId() { return id; } public void setId(String id) { this.id = id; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "register [id=" + id + ", user=" + user + ", password=" + password + "]"; }}
数据库连接工具类:dbutils.java
package jdbc;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;public class dbutils { private static final Properties PROPERTIES = new Properties(); static { InputStream is = dbutils.class.getResourceAsStream("/db.properties"); try { PROPERTIES.load(is); Class.forName(PROPERTIES.getProperty("driver")); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); } } public static Connection GetConnection() { Connection connection = null; try { connection = DriverManager.getConnection( PROPERTIES.getProperty("url"), PROPERTIES.getProperty("user"), PROPERTIES.getProperty("password") ); } catch (SQLException e) { e.printStackTrace(); } return connection; } public static void CloseAll(Connection connection, Statement statement, ResultSet resultSet) { try { if (resultSet != null) { resultSet.close(); } if (statement != null) { statement.close(); } if (connection != null) { connection.close(); } } catch (SQLException e) { e.printStackTrace(); } }}
主程序:testORM.java
package jdbc;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;public class testORM { public static void main(String[] args) { Connection connection = null; PreparedStatement statement = null; ResultSet resultSet = null; Listlist = new ArrayList<>(); try { connection = dbutils.GetConnection(); statement = connection.prepareStatement("select * from register"); resultSet = statement.executeQuery(); while (resultSet.next()) { String id = resultSet.getString(1); String user = resultSet.getString(2); String password = resultSet.getString(3); register register1 = new register(id, user, password); list.add(register1); } } catch (SQLException e) { e.printStackTrace(); } for (register register2 : list) { System.out.println(register2); } dbutils.CloseAll(connection, statement, resultSet); }}
数据库配置文件:db.properties
driver=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/loginuser=rootpassword=981002
通过上述实现,可以完成从数据库中提取零散数据的封装管理。代码采用了重用性方案,通过工具类dbutils
完成数据库连接和资源管理,确保了代码的可维护性和复用性。封装类register
通过将数据库字段一一对应到类属性,实现了对象化的数据管理。
转载地址:http://jgbe.baihongyu.com/