java jdbc按時間查詢數據庫內容

傳參是Util.Date 查詢 數據庫中內容

sql.Date 實際上是 Util.Date的一個子類,可以把Util.Date強制類型轉化爲sql.Date作爲查詢參數

 

package team.heroes.sqlcon.dateQuery;
//要寫幾個查詢函數
import java.sql.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import java.util.*;
import team.heroes.sqlcon.ConnectionPool;

public class TaskDateQuery {
	static public List<HiTaskDateBean> QueryBeansByDate(Date StartTime,Date EndTime) throws SQLException{
		Connection conn = ConnectionPool.getConnection();
		//時間Between查詢
		String sql = "SELECT ID_,TASK_DEF_KEY_,NAME_,ASSIGNEE_,START_TIME_,END_TIME_ FROM ACT_HI_TASKINST WHERE (START_TIME_ BETWEEN ? AND ?) AND (END_TIME_ BETWEEN ? AND ?)";
		PreparedStatement ptmt = conn.prepareStatement(sql);
    	ptmt.setDate(1,  new java.sql.Date(StartTime.getTime()));
    	ptmt.setDate(2,   new java.sql.Date(EndTime.getTime()));
    	ptmt.setDate(3,  new java.sql.Date(StartTime.getTime()));
    	ptmt.setDate(4,   new java.sql.Date(EndTime.getTime()));
    	ResultSet ans = ptmt.executeQuery();
    	List<HiTaskDateBean> QueryAns = new ArrayList<>();
    	while(ans.next()) {
    		String id = ans.getString(1);
    		String task_def_key=ans.getString(2);
    		String name = ans.getString(3);
    		String assignee = ans.getString(4);
    		Date starttime= ans.getDate(5);
    		Date endtime = ans.getDate(6);
    		QueryAns.add(new HiTaskDateBean(id, task_def_key, name, assignee, starttime, endtime));
    	}
    	ans.close();
    	ptmt.close();
    	conn.close();
    	return QueryAns;
	}
	/*public static void main(String args[]) throws ParseException, SQLException {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date st = sdf.parse("2018-08-19");
		Date et = sdf.parse("2018-08-21");
		List<HiTaskDateBean> T = QueryBeansByDate(st, et);
		
		//Between a ,b 是>=a且<b
	}*/
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章