
本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息存储到 List 中
代码如下:
import java.sql.Connectionimport java.sql.DriverManager
import java.sql.ResultSet
import java.sql.SQLException
import java.sql.Statement
import java.util.ArrayList
import java.util.List
// 用户类,存储单个用户信息
class User {
private int id
private String name
public User(int id, String name) {
this.id = id
this.name = name
}
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
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]"
}
}
public class Demo1 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息
// 放到 List 中
// 加载数据驱动
Class.forName("com.mysql.jdbc.Driver")
// 数据库连接字符串, 此例数据库为 test
String url = "jdbc:mysql://localhost:3306/test"
String user = "root" // 数据库用户名
String password = "" // 数据库密码
// 打开一个数据连接
Connection conn = DriverManager.getConnection(url, user, password)
Statement stmt = conn.createStatement()
// 获取表 tb_users 所有用户信息到结果集中
ResultSet rs = stmt.executeQuery("SELECT id, name FROM tb_users")
// 定义一个存放用户信息的 List
List<User> users = new ArrayList<>()
// 提取用户信息,并将用户信息放入 List
while (rs.next()) {
// 获取用户ID
int id = rs.getInt(1)
// 获取用户名
String name = rs.getString(2)
users.add(new User(id, name))
}
rs.close()
stmt.close()
conn.close()
// 显示用户信息
for (User u : users) {
System.out.println(u)
}
}
}
最简单的方法建一个类,里边定义一个静态的list成员变量,每次去list时检查,如果list为null就数据库查询,如果list已经存在,就直接返回存在的list就行了,高级点的,加个时间比较,超过一定的时间间隔获取list就去数据库查询后获得,如果没有超时的就直接返回保存的list。如果有需要可以自己写一个缓存管理器,用来把需要的
数据缓存
在内存中,并且在根据自定义的时间间隔或事件触发自动更新缓存。
简单啊,你可以定义一个总list,然后将分list放进去就可以了:比如: List list1 = new ArrayList(); List list2 = new ArrayList(); list2放 [{DepartID=782, num=209}, {DepartID=650, num=4}, {DepartID=52, num=3488}] List list3 = new ArrayList(); list3放 [{dpsNum=60}, {dpsNum=2377}, {dpsNum=2043}] 然后list1.add(list2) list1.add(list3)欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)