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();
}
}
}
}