8.时间段和日期段的查询

package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.logging.SimpleFormatter;

import javax.swing.text.SimpleAttributeSet;


public class Demo_main {
//时间转字符串
	public static long stringdate(String datestring) {
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		try {
			return df.parse(datestring).getTime();
		} catch (ParseException e) {
			e.printStackTrace();
			return 0;
		}
	}
	public static void main(String[] args){
		PreparedStatement ps = null;
		Connection c = null;
		ResultSet rs = null;
			try {
//加载驱动类
				Class.forName("com.mysql.jdbc.Driver");
//建立连接
				c = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc的使用","root","root");
			//关闭自动提交
				c.setAutoCommit(false);//JDBC默认自动提交				
//执行SQL语句					
								
				ps = c.prepareStatement("select * from study where timestamp>? and timestamp<?");//在此之后先建立一个时间转字符串的方法
				java.sql.Date s = new java.sql.Date(stringdate("2019-7-4 0:0:0"));
				java.sql.Date e = new java.sql.Date(stringdate("2019-7-15 0:0:0"));//因为设置方法的参数是这样,可以修改
				ps.setObject(1, s);
				ps.setObject(2, e);
				rs = ps.executeQuery();
				while(rs.next()) {
					System.out.print(rs.getInt("id")+"           ");
					System.out.print(rs.getDate("date")+"          ");
					System.out.println(rs.getTimestamp("timestamp"));
				}
	
				
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
				try {
					c.rollback();
				} catch (SQLException e1) {
					e1.printStackTrace();
				}//回滚,回滚到该语句未执行前
			} catch (SQLException e) {
				e.printStackTrace();
			}finally {
//关闭
				try {
					if(ps != null) {
						ps.close();
						}
				} catch (SQLException e) {
					e.printStackTrace();
				}
				try {
					if(c != null) {
						c.close();						
					}
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值