java怎么把数据库的东西导入LIST中

java怎么把数据库的东西导入LIST中,第1张

本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息存储到 List 中

代码如下:

import java.sql.Connection

import 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)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10046005.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存