我正在使用spring批处理,我已经通过单击按钮(spring MVC)配置了我的作业。
有关我的工作的所有信息都在数据库中的BATCH_JOB_EXECUTION
。
我想要这个场景:
- 当我加载页面时,该表包含数据库中存在的所有记录
- 当我点击按钮执行我的工作时,数据库中添加的最后一条记录会添加到我表格的前端。
这就是我所做的但仍然无法正常工作!
以下是BATCH_JOB_EXECUTION.java文件的内容:
public class BATCH_JOB_EXECUTION {
private int JOB_EXECUTION_ID ;
private int VERSION;
private int JOB_INSTANCE_ID;
private Time CREATE_TIME ;
private Time START_TIME;
private Time END_TIME;
private String STATUS;
private String EXIT_CODE;
private String EXIT_MESSAGE;
private Time LAST_UPDATED;
public BATCH_JOB_EXECUTION(){
}
public int getJOB_EXECUTION_ID() {
return JOB_EXECUTION_ID;
}
public void setJOB_EXECUTION_ID(int jOB_EXECUTION_ID) {
JOB_EXECUTION_ID = jOB_EXECUTION_ID;
}
public int getVERSION() {
return VERSION;
}
public void setVERSION(int vERSION) {
VERSION = vERSION;
}
public int getJOB_INSTANCE_ID() {
return JOB_INSTANCE_ID;
}
public void setJOB_INSTANCE_ID(int jOB_INSTANCE_ID) {
JOB_INSTANCE_ID = jOB_INSTANCE_ID;
}
public Time getCREATE_TIME() {
return CREATE_TIME;
}
public void setCREATE_TIME(Time cREATE_TIME) {
CREATE_TIME = cREATE_TIME;
}
public Time getSTART_TIME() {
return START_TIME;
}
public void setSTART_TIME(Time sTART_TIME) {
START_TIME = sTART_TIME;
}
public Time getEND_TIME() {
return END_TIME;
}
public void setEND_TIME(Time eND_TIME) {
END_TIME = eND_TIME;
}
public String getSTATUS() {
return STATUS;
}
public void setSTATUS(String sTATUS) {
STATUS = sTATUS;
}
public String getEXIT_CODE() {
return EXIT_CODE;
}
public void setEXIT_CODE(String eXIT_CODE) {
EXIT_CODE = eXIT_CODE;
}
public String getEXIT_MESSAGE() {
return EXIT_MESSAGE;
}
public void setEXIT_MESSAGE(String eXIT_MESSAGE) {
EXIT_MESSAGE = eXIT_MESSAGE;
}
public Time getLAST_UPDATED() {
return LAST_UPDATED;
}
public void setLAST_UPDATED(Time lAST_UPDATED) {
LAST_UPDATED = lAST_UPDATED;
}
}
这是我的观点:
<div>
<table id="contactTableResponse" class="table tr">
<thead>
<tr>
<th>JOB_INSTANCE_ID</th>
<th>START_TIME</th>
<th>END_TIME</th>
<th>EXIT_CODE</th>
</tr>
</thead>
<tfoot>
<tr>
<th scope="row">Spring-Ajax</th>
<td colspan="4">JQuery Ajax</td>
</tr>
</tfoot>
<tbody>
<c:forEach items="${jobs}" var="BATCH_JOB_EXECUTION">
<tr>
<td>${BATCH_JOB_EXECUTION.JOB_INSTANCE_ID}</td>
<td>${BATCH_JOB_EXECUTION.START_TIME}</td>
<td>${BATCH_JOB_EXECUTION.END_TIME}</td>
<td>${BATCH_JOB_EXECUTION.EXIT_CODE}</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
ajax电话:
$('#JobBtn').click( function() {
$('#JobBtn').click( function() {
alert('in submit function');
$.ajax({
type: 'GET',
url: 'load',
success : function(response) {
alert(response);
},
error : function(e) {
alert('Error: ' + e);
}
});
});
更新
这是我的控制者:
public class AjacController {
@Inject
@Named(value = "dataSource")
private DataSource dataSource1;
@RequestMapping(value="/load" )
public ModelAndView connect(){
ModelAndView model = new ModelAndView("");
BATCH_JOB_EXECUTION batch=null;
List<BATCH_JOB_EXECUTION> list =null;
ResultSet resultSet = null;
PreparedStatement preparedStatement = null;
Connection connection = null;
String select= "select JOB_INSTANCE_ID, START_TIME,END_TIME,EXIT_CODE from BATCH_JOB_EXECUTION";
try {
connection = dataSource1.getConnection();
preparedStatement = connection.prepareStatement(select);
resultSet = preparedStatement.executeQuery();
while(resultSet.next()){
batch.setJOB_EXECUTION_ID(resultSet.getInt("JOB_INSTANCE_ID")) ;
batch.setSTART_TIME(resultSet.getTime("START_TIME")) ;
batch.setEND_TIME(resultSet.getTime("END_TIME")) ;
batch.setEXIT_CODE(resultSet.getString("EXIT_CODE")) ;
list.add(batch);
model.addObject("listJobs", list);
}
return model ;
}
但我的表格中没有显示数据! 任何帮助将不胜感激。