这段时间学习了java脚本处理数据的一些知识,这里进行学习总结和代码演示
在使用脚本处理数据时,数据量不能太大,避免超出内存,导致服务器宕机
在使用脚本传参时,需要和用户规定好参数的传输方式,避免错误的使用
接下来展示一个基础的java脚本处理
需要以下配置,以我本机为列
jdk1.8
idea
MySQL
navicat
准备好配置后我们创建一个maven项目,并在pom中导入我们需要的相关依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
该依赖为数据库的核心类,帮助我们的脚本连接数据库和输出处理后的数据
下一步连接数据库,并找到相应的表拿取数据,代码为两个方法模块
//连接数据库
public static Connection getConnection() throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.cj.jdbc.Driver");
String string = "jdbc:mysql://localhost:3306/gk";
return DriverManager.getConnection(string, "root", "root");
}
//从数据库中拿取数据
public List<Data> getJulyData(List<String> devices) throws ClassNotFoundException, SQLException {
List<Data> list = new ArrayList<>();
for (String deviceTo : devices) {
String sql = "SELECT * FROM july WHERE device = '"+ deviceTo + "' ORDER BY id";
Statement statement = getConnection().createStatement();
ResultSet rs = statement.executeQuery(sql);
Data data = new Data();
while (rs.next()) {
Integer time = rs.getInt("time");
String device = rs.getString("device");
String no = rs.getString("no");
String value = rs.getString("value");
Date datePart = rs.getDate("date_part");
data.setTime(time);
data.setDevice(device);
data.setNo(no);
data.setValue(value);
data.setDatePart(datePart);
list.add(data);
}
// System.out.println(list);
}
return list;
}
这里演示的是固定了数据库相关表和相关字段的代码模块,如果需要能灵活根据用户需求转变数据库相关表和相关字段的脚本,将数据库表和字段改为参数就可以,这一点需要和用户商议参数的输入顺序,这里代码演示了用户可以根据device这个字段来自主获取相应的数据
下一步是对相应的数据进行处理,每个人的需求不同,这里也就不再演示
在脚本编辑完成后也需要打成jar包放入对应的位置,根据每个人的应用场景不同也有不同的使用方式。