ssm專案後臺向前臺傳入list資料
阿新 • • 發佈:2018-12-09
增加將MySQL資料庫中的資料,使用list取出,並傳入jsp直接使用
xml檔案:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.sy.dao.SensorDao"> <!-- 目的:為DAO介面方法提供sql語句配置 --> <!-- 查詢日期 --> <select id="selectNewDate" resultType="String"> SELECT MAX(DATE) FROM sensordata </select> <!-- 查詢最新日期的資料 --> <resultMap id="SensorList" type="com.sy.entity.Sensor"> <id column="id" property="id"></id> <result column="sensorType" property="sensorType"></result> <result column="sensorAddress" property="sensorAddress"></result> <result column="frontData" property="frontData"></result> <result column="backData" property="backData"></result> <result column="date" property="date"></result> </resultMap> <select id="searchList" parameterType="String" resultMap="SensorList"> SELECT * FROM sensordata WHERE DATE = #{date} </select> </mapper>
entity類:
package com.sy.entity;
public class Sensor {
private int id;
private int sensorType;
private int sensorAddress;
private double frontData;
private double backData;
private String date;
get()/set()...
toString()...
}
dao層:
package com.sy.dao; import java.util.List; import com.sy.entity.Sensor; public interface SensorDao { /** * 返回最新日期 * @return */ String selectNewDate(); /** * 查詢最新日期的資料列表 * @return list */ List<Sensor> searchList(String date); }
service:
package com.sy.service.Impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.sy.dao.SensorDao; import com.sy.entity.Sensor; import com.sy.service.SensorService; @Service public class SensorServiceImpl implements SensorService{ @Autowired private SensorDao sensorDao; @Override public List<Sensor> search(String date) { // TODO Auto-generated method stub List<Sensor> list = sensorDao.searchList(date); return list; } @Override public String newDate() { // TODO Auto-generated method stub String date = sensorDao.selectNewDate(); return date; } }
controller:
package com.sy.controller;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.SessionAttributes;
import com.sy.entity.Sensor;
import com.sy.service.SensorService;
@Controller
@RequestMapping("/data")
public class TableController {
@Autowired
private SensorService sensorService;
//正常訪問頁面
@RequestMapping("/table")
public String login(Model model){
String date = sensorService.newDate();//獲取最新資料的日期
//System.out.println("date:"+date);
List<Sensor> list = sensorService.search(date);//根據日期查詢所有資料
/*for(int i = 0;i<list.size();i++){
System.out.println("List:"+list.get(i));
}*/
model.addAttribute("sensor", list);
return "table";
}
}
jsp頁面關鍵程式碼:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="java.util.List"%>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<base href="<%=basePath%>">
<title>Admin - Table</title>
<!-- ... ... 省略一些css -->
</head>
<body>
<div>整個list集合:${sensor}</div>
<div>list集合大小:${sensor.size()}</div>
<div>第一行全部資料:${sensor[0]}</div>
<div>第一行的某一個數據:${sensor[0].id}</div>
</body>