java jdbc 时间段和日期段查询

首先先创建1000条随机日期数据

 

package jdbc;

import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.Random;



public class Demo08 {
	public static void main(String[] args) {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
			conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/jdbcTest?serverTimezone" +
			        "=UTC&characterEncoding=utf-8&useSSL=false","root","root");
			for (int i = 0; i < 1000; i++) {
				ps = conn.prepareStatement("insert into to_user (username,pwd,regTime,lastLoginTime) values (?,?,?,?)");
				ps.setString(1, "john");
				ps.setString(2, "55555");
				int rand = 1000000000 + new Random().nextInt(1000000000);
				java.sql.Date date = new java.sql.Date(System.currentTimeMillis() - rand);
				Timestamp stamp = new Timestamp(System.currentTimeMillis()- rand);//如果要插入指定日期可以用calender类或者dateformat
				ps.setDate(3, date);//没有时分秒
				ps.setTimestamp(4, stamp);//插入时间戳
				ps.execute();
			}
			
			
			} catch (Exception e) {
				try {
					conn.rollback();//出错则回滚数据
				} catch (SQLException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}//
		}finally {
			//一定记住关闭数据库资源 顺序 resultset --->statment ----->connection 这三个try catch块要分开写
			try {
				if (rs != null) {
					rs.close();
				}
			} catch (SQLException e1) {
				e1.printStackTrace();
			}
			try {
				if (ps != null) {
					ps.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			try {
				if (conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}	
	}
}

取出指定时间段的数据

package jdbc;

import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Random;



public class Demo09 {
	
	
	//字符串转成long数字
	public static long  str2Date(String dateStr) {
		DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		try {
			return format.parse(dateStr).getTime();
		} catch (ParseException e) {
			e.printStackTrace();
			return 0;
		}
	}
	
	public static void main(String[] args) {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		
		
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
			conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/jdbcTest?serverTimezone" +
			        "=UTC&characterEncoding=utf-8&useSSL=false","root","root");
			ps = conn.prepareStatement("select * from to_user where regTime > ? and regTime < ?");
			
			
			java.sql.Date start = new java.sql.Date(str2Date("2019-6-3 10:22:33"));
			java.sql.Date end = new java.sql.Date(str2Date("2019-6-5 10:22:33"));
			
			ps.setObject(1, start);//设置开始时间
			ps.setObject(2, end);//设置结束时间
			
			rs = ps.executeQuery();//查找符合条件数据集
			while (rs.next()) {
				System.out.println(rs.getObject(1) + "------" + rs.getObject(2) + "-------" + rs.getObject(4));
			}
			} catch (Exception e) {
				e.printStackTrace();
		}finally {
			//一定记住关闭数据库资源 顺序 resultset --->statment ----->connection 这三个try catch块要分开写
			try {
				if (rs != null) {
					rs.close();
				}
			} catch (SQLException e1) {
				e1.printStackTrace();
			}
			try {
				if (ps != null) {
					ps.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			try {
				if (conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}	
	}
}
26718------john-------2019-06-04 08:00:00.0
26722------john-------2019-06-04 08:00:00.0
26729------john-------2019-06-04 08:00:00.0
26739------john-------2019-06-04 08:00:00.0
26758------john-------2019-06-04 08:00:00.0
26766------john-------2019-06-04 08:00:00.0
26770------john-------2019-06-04 08:00:00.0
26800------john-------2019-06-04 08:00:00.0
26806------john-------2019-06-04 08:00:00.0
26809------john-------2019-06-04 08:00:00.0
26817------john-------2019-06-04 08:00:00.0
26824------john-------2019-06-04 08:00:00.0
26860------john-------2019-06-04 08:00:00.0
26863------john-------2019-06-04 08:00:00.0
26866------john-------2019-06-04 08:00:00.0
26870------john-------2019-06-04 08:00:00.0
26884------john-------2019-06-04 08:00:00.0
26905------john-------2019-06-04 08:00:00.0
26907------john-------2019-06-04 08:00:00.0
26921------john-------2019-06-04 08:00:00.0
26962------john-------2019-06-04 08:00:00.0
26992------john-------2019-06-04 08:00:00.0
27012------john-------2019-06-04 08:00:00.0
27026------john-------2019-06-04 08:00:00.0
27037------john-------2019-06-04 08:00:00.0
27042------john-------2019-06-04 08:00:00.0
27048------john-------2019-06-04 08:00:00.0
27096------john-------2019-06-04 08:00:00.0
27100------john-------2019-06-04 08:00:00.0
27101------john-------2019-06-04 08:00:00.0
27120------john-------2019-06-04 08:00:00.0
27129------john-------2019-06-04 08:00:00.0
27136------john-------2019-06-04 08:00:00.0
27140------john-------2019-06-04 08:00:00.0
27162------john-------2019-06-04 08:00:00.0
27167------john-------2019-06-04 08:00:00.0
27171------john-------2019-06-04 08:00:00.0
27173------john-------2019-06-04 08:00:00.0
27187------john-------2019-06-04 08:00:00.0
27207------john-------2019-06-04 08:00:00.0
27240------john-------2019-06-04 08:00:00.0
27246------john-------2019-06-04 08:00:00.0
27255------john-------2019-06-04 08:00:00.0
27259------john-------2019-06-04 08:00:00.0
27273------john-------2019-06-04 08:00:00.0
27284------john-------2019-06-04 08:00:00.0
27288------john-------2019-06-04 08:00:00.0
27300------john-------2019-06-04 08:00:00.0
27307------john-------2019-06-04 08:00:00.0
27326------john-------2019-06-04 08:00:00.0
27337------john-------2019-06-04 08:00:00.0
27341------john-------2019-06-04 08:00:00.0
27355------john-------2019-06-04 08:00:00.0
27368------john-------2019-06-04 08:00:00.0
27373------john-------2019-06-04 08:00:00.0
27389------john-------2019-06-04 08:00:00.0
27407------john-------2019-06-04 08:00:00.0
27456------john-------2019-06-04 08:00:00.0
27462------john-------2019-06-04 08:00:00.0
27470------john-------2019-06-04 08:00:00.0
27476------john-------2019-06-04 08:00:00.0
27479------john-------2019-06-04 08:00:00.0
27501------john-------2019-06-04 08:00:00.0
27516------john-------2019-06-04 08:00:00.0
27533------john-------2019-06-04 08:00:00.0
27572------john-------2019-06-04 08:00:00.0
27573------john-------2019-06-04 08:00:00.0
27576------john-------2019-06-04 08:00:00.0
27578------john-------2019-06-04 08:00:00.0
27580------john-------2019-06-04 08:00:00.0
27596------john-------2019-06-04 08:00:00.0
27600------john-------2019-06-04 08:00:00.0
27610------john-------2019-06-04 08:00:00.0
27616------john-------2019-06-04 08:00:00.0
27627------john-------2019-06-04 08:00:00.0
27630------john-------2019-06-04 08:00:00.0
27633------john-------2019-06-04 08:00:00.0
27645------john-------2019-06-04 08:00:00.0
27656------john-------2019-06-04 08:00:00.0
27662------john-------2019-06-04 08:00:00.0
27664------john-------2019-06-04 08:00:00.0
27665------john-------2019-06-04 08:00:00.0
27704------john-------2019-06-04 08:00:00.0
27705------john-------2019-06-04 08:00:00.0
27707------john-------2019-06-04 08:00:00.0
27712------john-------2019-06-04 08:00:00.0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值