1.环境搭建完成

2.相关的工具类编写完成
3.配置文件管理类编写完成
hxy
yy 9 months ago
parent 908dad413b
commit 0966dc92b6

@ -6,11 +6,9 @@
<component name="ChangeListManager">
<list default="true" id="a7505764-040b-48e2-b2fc-8c5b579e595f" name="Default" comment="1.环境搭建完成&#10;2.相关的工具类编写完成&#10;3.配置文件管理类编写完成">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionAggrStatDaoImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionAggrStatDaoImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionDetailDaoImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionDetailDaoImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionRandomExtractDaoImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionRandomExtractDaoImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/TaskDaoImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/TaskDaoImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/Top10CategoryDaoImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/Top10CategoryDaoImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/Top10CategorySessionDaoImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/Top10CategorySessionDaoImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/edu/hust/demo/Singleton.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/edu/hust/demo/Singleton.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -428,7 +426,7 @@
<workItem from="1529845795654" duration="7752000" />
<workItem from="1529887211212" duration="6851000" />
<workItem from="1529994772485" duration="146000" />
<workItem from="1734353432207" duration="2666000" />
<workItem from="1734353432207" duration="3674000" />
</task>
<task id="LOCAL-00001" summary="1.环境搭建完成&#10;2.相关的工具类编写完成&#10;3.配置文件管理类编写完成">
<created>1529592741848</created>
@ -451,7 +449,14 @@
<option name="project" value="LOCAL" />
<updated>1734355623186</updated>
</task>
<option name="localTasksCounter" value="4" />
<task id="LOCAL-00004" summary="1.环境搭建完成&#10;2.相关的工具类编写完成&#10;3.配置文件管理类编写完成">
<created>1734356287423</created>
<option name="number" value="00004" />
<option name="presentableId" value="LOCAL-00004" />
<option name="project" value="LOCAL" />
<updated>1734356287423</updated>
</task>
<option name="localTasksCounter" value="5" />
<servers />
</component>
<component name="TestHistory">
@ -575,11 +580,6 @@
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/impl/SessionAggrStatDaoImpl.java</url>
<line>24</line>
<option name="timeStamp" value="1" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/main/java/cn/edu/hust/dao/SessionDetailDao.java</url>
<line>7</line>

@ -1,15 +1,24 @@
package cn.edu.hust.dao.impl; // 定义包名表示这个类属于cn.edu.hust.dao.impl包
package cn.edu.hust.dao.impl;
// 定义包名表示这个类属于cn.edu.hust.dao.impl包
import cn.edu.hust.dao.SessionAggrStatDao; // 导入SessionAggrStatDao接口
import cn.edu.hust.domain.SessionAggrStat; // 导入SessionAggrStat实体类
import cn.edu.hust.jdbc.JDBCHelper; // 导入JDBCHelper类用于数据库操作
import cn.edu.hust.dao.SessionAggrStatDao;
// 导入SessionAggrStatDao接口
import cn.edu.hust.domain.SessionAggrStat;
// 导入SessionAggrStat实体类
import cn.edu.hust.jdbc.JDBCHelper;
// 导入JDBCHelper类用于数据库操作
import java.util.ArrayList; // 导入ArrayList类用于创建列表
import java.util.List; // 导入List接口
import java.util.ArrayList;
// 导入ArrayList类用于创建列表
import java.util.List;
// 导入List接口
public class SessionAggrStatDaoImpl implements SessionAggrStatDao { // 定义SessionAggrStatDaoImpl类实现SessionAggrStatDao接口
@Override // 覆盖接口中的方法
public void insert(SessionAggrStat sessionAggrStat) { // 定义insert方法用于插入单个SessionAggrStat对象
public class SessionAggrStatDaoImpl implements SessionAggrStatDao {
// 定义SessionAggrStatDaoImpl类实现SessionAggrStatDao接口
@Override
// 覆盖接口中的方法
public void insert(SessionAggrStat sessionAggrStat) {
// 定义insert方法用于插入单个SessionAggrStat对象
String sql="insert into session_aggr_stat values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; // 定义插入SQL语句
Object[] params={sessionAggrStat.getTaskId(),sessionAggrStat.getSessionCount(),sessionAggrStat.getVisit_Length_1s_3s(),
sessionAggrStat.getVisit_Length_4s_6s(),sessionAggrStat.getVisit_Length_7s_9s(),
@ -18,15 +27,22 @@ public class SessionAggrStatDaoImpl implements SessionAggrStatDao { // 定义Ses
,sessionAggrStat.getVisit_Length_10m_30m(),sessionAggrStat.getVisit_Length_30m(),
sessionAggrStat.getStep_Length_1_3(),sessionAggrStat.getStep_Length_4_6(),sessionAggrStat.getStep_Length_7_9(),
sessionAggrStat.getStep_Length_7_9(),sessionAggrStat.getStep_Length_10_30(),
sessionAggrStat.getStep_Length_30_60()}; // 创建参数数组包含SessionAggrStat对象的所有属性
JDBCHelper.getInstance().excuteUpdate(sql,params); // 调用JDBCHelper的excuteUpdate方法执行SQL更新
sessionAggrStat.getStep_Length_30_60()};
// 创建参数数组包含SessionAggrStat对象的所有属性
JDBCHelper.getInstance().excuteUpdate(sql,params);
// 调用JDBCHelper的excuteUpdate方法执行SQL更新
}
@Override // 覆盖接口中的方法
public void batchInsert(List<SessionAggrStat> sessionAggrStatList) { // 定义batchInsert方法用于批量插入SessionAggrStat对象
String sql="insert into session_aggr_stat values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; // 定义插入SQL语句
List<Object[]> paramList=new ArrayList<Object[]>(); // 创建一个列表用于存储每个SessionAggrStat对象的参数数组
for (SessionAggrStat sessionAggrStat:sessionAggrStatList) { // 遍历传入的SessionAggrStat对象列表
@Override
// 覆盖接口中的方法
public void batchInsert(List<SessionAggrStat> sessionAggrStatList) {
// 定义batchInsert方法用于批量插入SessionAggrStat对象
String sql="insert into session_aggr_stat values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
// 定义插入SQL语句
List<Object[]> paramList=new ArrayList<Object[]>();
// 创建一个列表用于存储每个SessionAggrStat对象的参数数组
for (SessionAggrStat sessionAggrStat:sessionAggrStatList) {
// 遍历传入的SessionAggrStat对象列表
Object[] params={sessionAggrStat.getTaskId(),sessionAggrStat.getSessionCount(),sessionAggrStat.getVisit_Length_1s_3s(),
sessionAggrStat.getVisit_Length_4s_6s(),sessionAggrStat.getVisit_Length_7s_9s(),
sessionAggrStat.getVisit_Length_10s_30s(),sessionAggrStat.getVisit_Length_30s_60s(),
@ -34,9 +50,12 @@ public class SessionAggrStatDaoImpl implements SessionAggrStatDao { // 定义Ses
,sessionAggrStat.getVisit_Length_10m_30m(),sessionAggrStat.getVisit_Length_30m(),
sessionAggrStat.getStep_Length_1_3(),sessionAggrStat.getStep_Length_4_6(),sessionAggrStat.getStep_Length_7_9(),
sessionAggrStat.getStep_Length_7_9(),sessionAggrStat.getStep_Length_10_30(),
sessionAggrStat.getStep_Length_30_60()}; // 创建参数数组包含当前SessionAggrStat对象的所有属性
paramList.add(params); // 将参数数组添加到列表中
sessionAggrStat.getStep_Length_30_60()};
// 创建参数数组包含当前SessionAggrStat对象的所有属性
paramList.add(params);
// 将参数数组添加到列表中
}
JDBCHelper.getInstance().excuteBatch(sql,paramList); // 调用JDBCHelper的excuteBatch方法执行批量SQL更新
JDBCHelper.getInstance().excuteBatch(sql,paramList);
// 调用JDBCHelper的excuteBatch方法执行批量SQL更新
}
}

@ -1,55 +1,100 @@
package cn.edu.hust.dao.impl; // 定义包名表示这个类属于cn.edu.hust.dao.impl包
package cn.edu.hust.dao.impl;
// 定义包名表示这个类属于cn.edu.hust.dao.impl包
import cn.edu.hust.dao.SessionDetailDao; // 导入SessionDetailDao接口
import cn.edu.hust.domain.SessionDetail; // 导入SessionDetail实体类
import cn.edu.hust.jdbc.JDBCHelper; // 导入JDBCHelper类用于数据库操作
import cn.edu.hust.dao.SessionDetailDao;
// 导入SessionDetailDao接口
import cn.edu.hust.domain.SessionDetail;
// 导入SessionDetail实体类
import cn.edu.hust.jdbc.JDBCHelper;
// 导入JDBCHelper类用于数据库操作
import java.io.Serializable; // 导入Serializable接口用于序列化
import java.util.ArrayList; // 导入ArrayList类用于创建列表
import java.util.List; // 导入List接口
import java.io.Serializable;
// 导入Serializable接口用于序列化
import java.util.ArrayList;
// 导入ArrayList类用于创建列表
import java.util.List;
// 导入List接口
public class SessionDetailDaoImpl implements SessionDetailDao { // 定义SessionDetailDaoImpl类实现SessionDetailDao接口
@Override // 覆盖接口中的方法
public void insert(SessionDetail sessionDetail) { // 定义insert方法用于插入单个SessionDetail对象
String sql="insert into session_detail values(?,?,?,?,?,?,?,?,?,?,?,?,?)"; // 定义插入SQL语句
Object[] object=new Object[]{ // 创建一个对象数组用于存储SessionDetail对象的属性值
sessionDetail.getTaskId(), // 获取任务ID
sessionDetail.getUserId(), // 获取用户ID
sessionDetail.getSessinId(), // 获取会话ID注意这里可能是拼写错误应该是sessionDetail.getSessionId()
sessionDetail.getPageid(), // 获取页面ID
sessionDetail.getActionTime(), // 获取操作时间
sessionDetail.getSearchKeyWord(), // 获取搜索关键词
sessionDetail.getClickCategoryId(), // 获取点击的分类ID
sessionDetail.getClickProductId(), // 获取点击的产品ID
sessionDetail.getOrderCategoryIds(), // 获取订单的分类IDs
sessionDetail.getOrderProductIds(), // 获取订单的产品IDs
sessionDetail.getPayCategoryIds(), // 获取支付的分类IDs
sessionDetail.getPayProductIds() // 获取支付的产品IDs
public class SessionDetailDaoImpl implements SessionDetailDao {
// 定义SessionDetailDaoImpl类实现SessionDetailDao接口
@Override
// 覆盖接口中的方法
public void insert(SessionDetail sessionDetail) {
// 定义insert方法用于插入单个SessionDetail对象
String sql="insert into session_detail values(?,?,?,?,?,?,?,?,?,?,?,?,?)";
// 定义插入SQL语句
Object[] object=new Object[]{
// 创建一个对象数组用于存储SessionDetail对象的属性值
sessionDetail.getTaskId(),
// 获取任务ID
sessionDetail.getUserId(),
// 获取用户ID
sessionDetail.getSessinId(),
// 获取会话ID注意这里可能是拼写错误应该是sessionDetail.getSessionId()
sessionDetail.getPageid(),
// 获取页面ID
sessionDetail.getActionTime(),
// 获取操作时间
sessionDetail.getSearchKeyWord(),
// 获取搜索关键词
sessionDetail.getClickCategoryId(),
// 获取点击的分类ID
sessionDetail.getClickProductId(),
// 获取点击的产品ID
sessionDetail.getOrderCategoryIds(),
// 获取订单的分类IDs
sessionDetail.getOrderProductIds(),
// 获取订单的产品IDs
sessionDetail.getPayCategoryIds(),
// 获取支付的分类IDs
sessionDetail.getPayProductIds()
// 获取支付的产品IDs
};
JDBCHelper.getInstance().excuteUpdate(sql,object); // 调用JDBCHelper的excuteUpdate方法执行SQL更新注意这里应该是executeUpdate
JDBCHelper.getInstance().excuteUpdate(sql,object);
// 调用JDBCHelper的excuteUpdate方法执行SQL更新注意这里应该是executeUpdate
}
@Override // 覆盖接口中的方法
public void batchInsert(List<SessionDetail> sessionDetailList) { // 定义batchInsert方法用于批量插入SessionDetail对象
String sql="insert into session_detail values(?,?,?,?,?,?,?,?,?,?,?,?,?)"; // 定义插入SQL语句
List<Object[]> paramList=new ArrayList<Object[]>(); // 创建一个列表用于存储每个SessionDetail对象的参数数组
for (SessionDetail sessionDetail:sessionDetailList) { // 遍历传入的SessionDetail对象列表
Object[] object=new Object[]{ // 创建一个对象数组用于存储当前SessionDetail对象的属性值
sessionDetail.getTaskId(), // 获取任务ID
sessionDetail.getUserId(), // 获取用户ID
sessionDetail.getSessinId(), // 获取会话ID注意这里可能是拼写错误应该是sessionDetail.getSessionId()
sessionDetail.getPageid(), // 获取页面ID
sessionDetail.getActionTime(), // 获取操作时间
sessionDetail.getSearchKeyWord(), // 获取搜索关键词
sessionDetail.getClickCategoryId(), // 获取点击的分类ID
sessionDetail.getClickProductId(), // 获取点击的产品ID
sessionDetail.getOrderCategoryIds(), // 获取订单的分类IDs
sessionDetail.getOrderProductIds(), // 获取订单的产品IDs
sessionDetail.getPayCategoryIds(), // 获取支付的分类IDs
sessionDetail.getPayProductIds() // 获取支付的产品IDs
@Override
// 覆盖接口中的方法
public void batchInsert(List<SessionDetail> sessionDetailList) {
// 定义batchInsert方法用于批量插入SessionDetail对象
String sql="insert into session_detail values(?,?,?,?,?,?,?,?,?,?,?,?,?)";
// 定义插入SQL语句
List<Object[]> paramList=new ArrayList<Object[]>();
// 创建一个列表用于存储每个SessionDetail对象的参数数组
for (SessionDetail sessionDetail:sessionDetailList) {
// 遍历传入的SessionDetail对象列表
Object[] object=new Object[]{
// 创建一个对象数组用于存储当前SessionDetail对象的属性值
sessionDetail.getTaskId(),
// 获取任务ID
sessionDetail.getUserId(),
// 获取用户ID
sessionDetail.getSessinId(),
// 获取会话ID注意这里可能是拼写错误应该是sessionDetail.getSessionId()
sessionDetail.getPageid(),
// 获取页面ID
sessionDetail.getActionTime(),
// 获取操作时间
sessionDetail.getSearchKeyWord(),
// 获取搜索关键词
sessionDetail.getClickCategoryId(),
// 获取点击的分类ID
sessionDetail.getClickProductId(),
// 获取点击的产品ID
sessionDetail.getOrderCategoryIds(),
// 获取订单的分类IDs
sessionDetail.getOrderProductIds(),
// 获取订单的产品IDs
sessionDetail.getPayCategoryIds(),
// 获取支付的分类IDs
sessionDetail.getPayProductIds()
// 获取支付的产品IDs
};
paramList.add(object); // 将参数数组添加到列表中
paramList.add(object);
// 将参数数组添加到列表中
}
JDBCHelper.getInstance().excuteBatch(sql,paramList); // 调用JDBCHelper的excuteBatch方法执行批量SQL更新注意这里应该是executeBatch
JDBCHelper.getInstance().excuteBatch(sql,paramList);
// 调用JDBCHelper的excuteBatch方法执行批量SQL更新注意这里应该是executeBatch
}
}

@ -1,27 +1,47 @@
package cn.edu.hust.dao.impl; // 定义包名表示这个类属于cn.edu.hust.dao.impl包
package cn.edu.hust.dao.impl;
// 定义包名表示这个类属于cn.edu.hust.dao.impl包
import cn.edu.hust.dao.SessionRandomExtractDao; // 导入SessionRandomExtractDao接口
import cn.edu.hust.domain.SessionRandomExtract; // 导入SessionRandomExtract实体类
import cn.edu.hust.jdbc.JDBCHelper; // 导入JDBCHelper类用于数据库操作
import cn.edu.hust.dao.SessionRandomExtractDao;
// 导入SessionRandomExtractDao接口
import cn.edu.hust.domain.SessionRandomExtract;
// 导入SessionRandomExtract实体类
import cn.edu.hust.jdbc.JDBCHelper;
// 导入JDBCHelper类用于数据库操作
import java.util.ArrayList; // 导入ArrayList类用于创建列表
import java.util.List; // 导入List接口
import java.util.ArrayList;
// 导入ArrayList类用于创建列表
import java.util.List;
// 导入List接口
public class SessionRandomExtractDaoImpl implements SessionRandomExtractDao { // 定义SessionRandomExtractDaoImpl类实现SessionRandomExtractDao接口
@Override // 覆盖接口中的方法
public void batchInsert(List<SessionRandomExtract> sessionRandomExtractList) { // 定义batchInsert方法用于批量插入SessionRandomExtract对象
String sql="insert into session_random_extract values(?,?,?,?,?)"; // 定义插入SQL语句
List<Object[]> paramList=new ArrayList<Object[]>(); // 创建一个列表用于存储每个SessionRandomExtract对象的参数数组
for (SessionRandomExtract sessionRandomExtract:sessionRandomExtractList) { // 遍历传入的SessionRandomExtract对象列表
Object[] params=new Object[]{ // 创建一个对象数组用于存储当前SessionRandomExtract对象的属性值
sessionRandomExtract.getTaskId(), // 获取任务ID
sessionRandomExtract.getSessionId(), // 获取会话ID
sessionRandomExtract.getStartTime(), // 获取开始时间
sessionRandomExtract.getSearchKeyWords(), // 获取搜索关键词
sessionRandomExtract.getClick_category_ids() // 获取点击的分类IDs
public class SessionRandomExtractDaoImpl implements SessionRandomExtractDao {
// 定义SessionRandomExtractDaoImpl类实现SessionRandomExtractDao接口
@Override
// 覆盖接口中的方法
public void batchInsert(List<SessionRandomExtract> sessionRandomExtractList) {
// 定义batchInsert方法用于批量插入SessionRandomExtract对象
String sql="insert into session_random_extract values(?,?,?,?,?)";
// 定义插入SQL语句
List<Object[]> paramList=new ArrayList<Object[]>();
// 创建一个列表用于存储每个SessionRandomExtract对象的参数数组
for (SessionRandomExtract sessionRandomExtract:sessionRandomExtractList) {
// 遍历传入的SessionRandomExtract对象列表
Object[] params=new Object[]{
// 创建一个对象数组用于存储当前SessionRandomExtract对象的属性值
sessionRandomExtract.getTaskId(),
// 获取任务ID
sessionRandomExtract.getSessionId(),
// 获取会话ID
sessionRandomExtract.getStartTime(),
// 获取开始时间
sessionRandomExtract.getSearchKeyWords(),
// 获取搜索关键词
sessionRandomExtract.getClick_category_ids()
// 获取点击的分类IDs
};
paramList.add(params); // 将参数数组添加到列表中
paramList.add(params);
// 将参数数组添加到列表中
}
JDBCHelper.getInstance().excuteBatch(sql,paramList); // 调用JDBCHelper的excuteBatch方法执行批量SQL更新注意这里应该是executeBatch
JDBCHelper.getInstance().excuteBatch(sql,paramList);
// 调用JDBCHelper的excuteBatch方法执行批量SQL更新注意这里应该是executeBatch
}
}

@ -1,38 +1,64 @@
package cn.edu.hust.dao.impl; // 定义包名表示这个类属于cn.edu.hust.dao.impl包
package cn.edu.hust.dao.impl;
// 定义包名表示这个类属于cn.edu.hust.dao.impl包
import cn.edu.hust.dao.TaskDao; // 导入TaskDao接口
import cn.edu.hust.domain.Task; // 导入Task实体类
import cn.edu.hust.jdbc.JDBCHelper; // 导入JDBCHelper类用于数据库操作
import cn.edu.hust.dao.TaskDao;
// 导入TaskDao接口
import cn.edu.hust.domain.Task;
// 导入Task实体类
import cn.edu.hust.jdbc.JDBCHelper;
// 导入JDBCHelper类用于数据库操作
import java.sql.ResultSet; // 导入ResultSet类用于处理查询结果
import java.sql.SQLException; // 导入SQLException类用于处理SQL异常
import java.sql.ResultSet;
// 导入ResultSet类用于处理查询结果
import java.sql.SQLException;
// 导入SQLException类用于处理SQL异常
public class TaskDaoImpl implements TaskDao { // 定义TaskDaoImpl类实现TaskDao接口
@Override // 覆盖接口中的方法
public Task findTaskById(Long id) { // 定义findTaskById方法根据ID查找任务
String sql="select * from task where task_id=?"; // 定义查询SQL语句
final Task task=new Task(); // 创建Task对象用于存储查询结果
JDBCHelper.getInstance().excuteQuery(sql, new Object[]{id}, new JDBCHelper.QueryCallBack() { // 调用JDBCHelper的excuteQuery方法执行查询
public class TaskDaoImpl implements TaskDao {
// 定义TaskDaoImpl类实现TaskDao接口
@Override
// 覆盖接口中的方法
public Task findTaskById(Long id) {
// 定义findTaskById方法根据ID查找任务
String sql="select * from task where task_id=?";
// 定义查询SQL语句
final Task task=new Task();
// 创建Task对象用于存储查询结果
JDBCHelper.getInstance().excuteQuery(sql, new Object[]{id}, new JDBCHelper.QueryCallBack() {
// 调用JDBCHelper的excuteQuery方法执行查询
@Override
public void process(ResultSet rs) { // 定义process方法处理查询结果
public void process(ResultSet rs) {
// 定义process方法处理查询结果
try {
if(rs.next()) // 如果查询结果有数据
if(rs.next())
// 如果查询结果有数据
{
Long id=rs.getLong(1); // 获取任务ID
String taskName=rs.getString(2); // 获取任务名称
String createTime=rs.getString(3); // 获取创建时间
String startTime=rs.getString(4); // 获取开始时间
String finishTime=rs.getString(5); // 获取完成时间
String taskType=rs.getString(6); // 获取任务类型
String taskStatus=rs.getString(7); // 获取任务状态
String taskParam=rs.getString(8); // 获取任务参数
task.set(id,taskName,createTime,startTime,finishTime,taskType,taskStatus,taskParam); // 设置Task对象的属性
Long id=rs.getLong(1);
// 获取任务ID
String taskName=rs.getString(2);
// 获取任务名称
String createTime=rs.getString(3);
// 获取创建时间
String startTime=rs.getString(4);
// 获取开始时间
String finishTime=rs.getString(5);
// 获取完成时间
String taskType=rs.getString(6);
// 获取任务类型
String taskStatus=rs.getString(7);
// 获取任务状态
String taskParam=rs.getString(8);
// 获取任务参数
task.set(id,taskName,createTime,startTime,finishTime,taskType,taskStatus,taskParam);
// 设置Task对象的属性
}
} catch (SQLException e) { // 捕获并处理SQLException
e.printStackTrace(); // 打印异常堆栈信息
} catch (SQLException e) {
// 捕获并处理SQLException
e.printStackTrace();
// 打印异常堆栈信息
}
}
});
return task; // 返回Task对象
return task;
// 返回Task对象
}
}

@ -1,41 +1,72 @@
package cn.edu.hust.dao.impl; // 定义包名表示这个类属于cn.edu.hust.dao.impl包
package cn.edu.hust.dao.impl;
// 定义包名表示这个类属于cn.edu.hust.dao.impl包
import cn.edu.hust.dao.Top10CategoryDao; // 导入Top10CategoryDao接口
import cn.edu.hust.domain.Top10Category; // 导入Top10Category实体类
import cn.edu.hust.jdbc.JDBCHelper; // 导入JDBCHelper类用于数据库操作
import cn.edu.hust.dao.Top10CategoryDao;
// 导入Top10CategoryDao接口
import cn.edu.hust.domain.Top10Category;
// 导入Top10Category实体类
import cn.edu.hust.jdbc.JDBCHelper;
// 导入JDBCHelper类用于数据库操作
import java.util.ArrayList; // 导入ArrayList类用于创建列表
import java.util.List; // 导入List接口
import java.util.ArrayList;
// 导入ArrayList类用于创建列表
import java.util.List;
// 导入List接口
public class Top10CategoryDaoImpl implements Top10CategoryDao { // 定义Top10CategoryDaoImpl类实现Top10CategoryDao接口
@Override // 覆盖接口中的方法
public void insert(Top10Category top10Category) { // 定义insert方法用于插入单个Top10Category对象
String sql="insert into top10_category values(?,?,?,?,?)"; // 定义插入SQL语句
Object[] params=new Object[]{ // 创建一个对象数组用于存储Top10Category对象的属性值
top10Category.getTaskId(), // 获取任务ID
top10Category.getCategoryId(), // 获取分类ID注意这里代码中重复了两次可能是错误
top10Category.getCategoryId(), // 重复的分类ID
top10Category.getClickCount(), // 获取点击次数
top10Category.getOrderCount(), // 获取订单次数
top10Category.getPayCount() // 获取支付次数
public class Top10CategoryDaoImpl implements Top10CategoryDao {
// 定义Top10CategoryDaoImpl类实现Top10CategoryDao接口
@Override
// 覆盖接口中的方法
public void insert(Top10Category top10Category) {
// 定义insert方法用于插入单个Top10Category对象
String sql="insert into top10_category values(?,?,?,?,?)";
// 定义插入SQL语句
Object[] params=new Object[]{
// 创建一个对象数组用于存储Top10Category对象的属性值
top10Category.getTaskId(),
// 获取任务ID
top10Category.getCategoryId(),
// 获取分类ID注意这里代码中重复了两次可能是错误
top10Category.getCategoryId(),
// 重复的分类ID
top10Category.getClickCount(),
// 获取点击次数
top10Category.getOrderCount(),
// 获取订单次数
top10Category.getPayCount()
// 获取支付次数
};
JDBCHelper.getInstance().excuteUpdate(sql,params); // 调用JDBCHelper的excuteUpdate方法执行SQL更新注意这里应该是executeUpdate
JDBCHelper.getInstance().excuteUpdate(sql,params);
// 调用JDBCHelper的excuteUpdate方法执行SQL更新注意这里应该是executeUpdate
}
@Override // 覆盖接口中的方法
public void batchInsert(List<Top10Category> top10CategoryList) { // 定义batchInsert方法用于批量插入Top10Category对象
String sql="insert into top10_category values(?,?,?,?,?)"; // 定义插入SQL语句
List<Object[]> paramList=new ArrayList<Object[]>(); // 创建一个列表用于存储每个Top10Category对象的参数数组
for (Top10Category top10Category:top10CategoryList) { // 遍历传入的Top10Category对象列表
Object[] params=new Object[]{ // 创建一个对象数组用于存储当前Top10Category对象的属性值
top10Category.getTaskId(), // 获取任务ID
top10Category.getCategoryId(), // 获取分类ID
top10Category.getClickCount(), // 获取点击次数
top10Category.getOrderCount(), // 获取订单次数
top10Category.getPayCount() // 获取支付次数
@Override
// 覆盖接口中的方法
public void batchInsert(List<Top10Category> top10CategoryList) {
// 定义batchInsert方法用于批量插入Top10Category对象
String sql="insert into top10_category values(?,?,?,?,?)";
// 定义插入SQL语句
List<Object[]> paramList=new ArrayList<Object[]>();
// 创建一个列表用于存储每个Top10Category对象的参数数组
for (Top10Category top10Category:top10CategoryList) {
// 遍历传入的Top10Category对象列表
Object[] params=new Object[]{
// 创建一个对象数组用于存储当前Top10Category对象的属性值
top10Category.getTaskId(),
// 获取任务ID
top10Category.getCategoryId(),
// 获取分类ID
top10Category.getClickCount(),
// 获取点击次数
top10Category.getOrderCount(),
// 获取订单次数
top10Category.getPayCount()
// 获取支付次数
};
paramList.add(params); // 将参数数组添加到列表中
paramList.add(params);
// 将参数数组添加到列表中
}
JDBCHelper.getInstance().excuteBatch(sql,paramList); // 调用JDBCHelper的excuteBatch方法执行批量SQL更新注意这里应该是executeBatch
JDBCHelper.getInstance().excuteBatch(sql,paramList);
// 调用JDBCHelper的excuteBatch方法执行批量SQL更新注意这里应该是executeBatch
}
}

@ -1,28 +1,47 @@
package cn.edu.hust.dao.impl; // 定义包名表示这个类属于cn.edu.hust.dao.impl包
package cn.edu.hust.dao.impl;
// 定义包名表示这个类属于cn.edu.hust.dao.impl包
import cn.edu.hust.dao.Top10CategorySessionDao; // 导入Top10CategorySessionDao接口
import cn.edu.hust.domain.Top10CategorySession; // 导入Top10CategorySession实体类
import cn.edu.hust.jdbc.JDBCHelper; // 导入JDBCHelper类用于数据库操作
import cn.edu.hust.dao.Top10CategorySessionDao;
// 导入Top10CategorySessionDao接口
import cn.edu.hust.domain.Top10CategorySession;
// 导入Top10CategorySession实体类
import cn.edu.hust.jdbc.JDBCHelper;
// 导入JDBCHelper类用于数据库操作
import java.util.ArrayList; // 导入ArrayList类用于创建列表
import java.util.List; // 导入List接口
import java.util.ArrayList;
// 导入ArrayList类用于创建列表
import java.util.List;
// 导入List接口
public class Top10CategorySessionDaoImpl implements Top10CategorySessionDao // 定义Top10CategorySessionDaoImpl类实现Top10CategorySessionDao接口
public class Top10CategorySessionDaoImpl implements Top10CategorySessionDao
// 定义Top10CategorySessionDaoImpl类实现Top10CategorySessionDao接口
{
@Override // 覆盖接口中的方法
public void batchInsert(List<Top10CategorySession> top10CategorySessionList) { // 定义batchInsert方法用于批量插入Top10CategorySession对象
String sql="insert into top10_category_session values(?,?,?,?)"; // 定义插入SQL语句
List<Object[]> paramList=new ArrayList<Object[]>(); // 创建一个列表用于存储每个Top10CategorySession对象的参数数组
for(Top10CategorySession top10CategorySession:top10CategorySessionList) // 遍历传入的Top10CategorySession对象列表
@Override
// 覆盖接口中的方法
public void batchInsert(List<Top10CategorySession> top10CategorySessionList) {
// 定义batchInsert方法用于批量插入Top10CategorySession对象
String sql="insert into top10_category_session values(?,?,?,?)";
// 定义插入SQL语句
List<Object[]> paramList=new ArrayList<Object[]>();
// 创建一个列表用于存储每个Top10CategorySession对象的参数数组
for(Top10CategorySession top10CategorySession:top10CategorySessionList)
// 遍历传入的Top10CategorySession对象列表
{
Object[] param=new Object[]{ // 创建一个对象数组用于存储当前Top10CategorySession对象的属性值
top10CategorySession.getTaskId(), // 获取任务ID
top10CategorySession.getCategoryId(), // 获取分类ID
top10CategorySession.getSessionId(), // 获取会话ID
top10CategorySession.getClickCount() // 获取点击次数
Object[] param=new Object[]{
// 创建一个对象数组用于存储当前Top10CategorySession对象的属性值
top10CategorySession.getTaskId(),
// 获取任务ID
top10CategorySession.getCategoryId(),
// 获取分类ID
top10CategorySession.getSessionId(),
// 获取会话ID
top10CategorySession.getClickCount()
// 获取点击次数
};
paramList.add(param); // 将参数数组添加到列表中
paramList.add(param);
// 将参数数组添加到列表中
}
JDBCHelper.getInstance().excuteBatch(sql,paramList); // 调用JDBCHelper的excuteBatch方法执行批量SQL更新注意这里应该是executeBatch
JDBCHelper.getInstance().excuteBatch(sql,paramList);
// 调用JDBCHelper的excuteBatch方法执行批量SQL更新注意这里应该是executeBatch
}
}

@ -1,59 +1,62 @@
package cn.edu.hust.demo;
// 定义包名表示这个类属于cn.edu.hust.demo包
/**
*
*/
public class Singleton {
// 定义Singleton类用于实现单例模式
/**
* 饿线
*/
/**
private static Singleton instance=new Singleton();
private Singleton()
{
/*
private static Singleton instance = new Singleton(); // 在类加载时就创建实例,实现线程安全
private Singleton() {
// 私有化构造函数防止外部通过new创建实例
}
public static Singleton getInstance()
{
public static Singleton getInstance() {
return instance;
}*/
// 提供全局访问点
}
*/
/**
* 线
private static Singleton instance=null;
private Singleton()
{
*/
/*
private static Singleton instance = null; // 实例化延后到第一次使用时
private Singleton() {
// 私有化构造函数防止外部通过new创建实例
}
public static Singleton getInstance()
{
if(instance==null) instance=new Singleton();
public static Singleton getInstance() {
if (instance == null) instance = new Singleton();
// 线程不安全,可能存在多个实例
return instance;
}*/
}
*/
/**
* 线
*/
private static Singleton instance=null;
private Singleton()
{
private static Singleton instance = null;
// 实例化延后到第一次使用时
private Singleton() {
// 私有化构造函数防止外部通过new创建实例
}
public static Singleton getInstance()
{
if(instance==null)
{
synchronized (Singleton.class)
{
if(instance==null)
{
instance=new Singleton();
public static Singleton getInstance() {
if (instance == null) {
// 第一次检查,避免不必要的同步
synchronized (Singleton.class) {
// 同步块,确保线程安全
if (instance == null) {
// 第二次检查,确保只有一个实例被创建
instance = new Singleton();
// 创建实例
}
}
}
return instance;
// 返回唯一实例
}
}
}
Loading…
Cancel
Save