老师,我的代码有什么错吗?
来源:6-6 自由编程
qq_就是这样_1
2020-10-06 14:27:30
package com.imooc.jdbc.exam;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Time;
import org.junit.Test;
import com.imooc.jdbc.utils.JDBCUtils;
public class JDBCCourse {
@Test
//按创建时间倒序排序显示所有数据
public void demo6() {
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
try {
conn=JDBCUtils.getConnection();
String sql="select * from course order by createTime";
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()) {
int id=rs.getInt("id");
String name=rs.getString("name");
String category=rs.getString("category");
String desp=rs.getString("desp");
Time createTime=rs.getTime("createTime");
System.out.println(id+" "+name+" "+category+" "+desp+" "+createTime);
}
}catch(Exception e) {
e.printStackTrace();
}finally {
JDBCUtils.release(pstmt, conn);
}
}
@Test
//删除Java Web这门课程
public void demo5() {
Connection conn=null;
PreparedStatement pstmt=null;
try {
conn=JDBCUtils.getConnection();
String sql="delete from course where name='JAVA Web'";
pstmt=conn.prepareStatement(sql);
int num=pstmt.executeUpdate();
if(num>0) {
System.out.println("删除成功");
}else {
System.out.println("删除失败");
}
}catch(Exception e) {
e.printStackTrace();
}finally {
JDBCUtils.release(pstmt, conn);
}
}
@Test
//将Java零基础的课程描述改为Java语法
public void demo4() {
Connection conn=null;
PreparedStatement pstmt=null;
try {
conn=JDBCUtils.getConnection();
String sql="update course set name='JAVA语法' where name='JAVA零基础'";
pstmt=conn.prepareStatement(sql);
int num=pstmt.executeUpdate();
if(num>0) {
System.out.println("修改成功");
}else {
System.out.println("修改失败");
}
}catch(Exception e) {
e.printStackTrace();
}finally {
JDBCUtils.release(pstmt, conn);
}
}
@Test
//查询课程名称为Java零基础的数据并显示
public void demo3() {
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
try {
conn=JDBCUtils.getConnection();
String sql="select * from course where name='JAVA零基础'";
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()) {
int id=rs.getInt("id");
String name=rs.getString("name");
String category=rs.getString("category");
String desp=rs.getString("desp");
Time createTime=rs.getTime("createTime");
System.out.println(id+" "+name+" "+category+" "+desp+" "+createTime);
}
}catch(Exception e) {
e.printStackTrace();
}finally {
JDBCUtils.release(rs, pstmt, conn);;
}
}
@Test
//显示所有数据
public void demo2() {
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
try {
conn=JDBCUtils.getConnection();
String sql="select * from course";
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()) {
int id=rs.getInt("id");
String name=rs.getString("name");
String category=rs.getString("category");
String desp=rs.getString("desp");
Time createTime=rs.getTime("createTime");
System.out.println(id+" "+name+" "+category+" "+desp+" "+createTime);
}
}catch(Exception e) {
e.printStackTrace();
}finally {
JDBCUtils.release(rs, pstmt, conn);
}
}
@Test
//表格中的三条数据添加到数据库
public void demo1() {
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
try {
conn=JDBCUtils.getConnection();
String sql="insert into course values(null,?,?,?,?),(null,?,?,?,?),(null,?,?,?,?)";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,"JAVA零基础");
pstmt.setString(2,"JAVA");
pstmt.setString(3,"JAVA基础语法");
pstmt.setDate(4,new Date(System.currentTimeMillis()));
pstmt.setString(5,"JAVA Web");
pstmt.setString(6,"JAVA");
pstmt.setString(7,"JSP和Servlet");
pstmt.setDate(8,new Date(System.currentTimeMillis()));
pstmt.setString(9,"前端小白");
pstmt.setString(10,"前端");
pstmt.setString(11,"HTML/CSS/JS");
pstmt.setDate(12,new Date(System.currentTimeMillis()));
int num=pstmt.executeUpdate();
if(num>0) {
System.out.println("添加成功");
}else {
System.out.println("添加失败");
}
}catch(Exception e) {
e.printStackTrace();
}finally {
JDBCUtils.release(rs, pstmt, conn);
}
}
}package com.imooc.jdbc.utils;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* JDBC的工具类
* @author Administrator
*
*/
public class JDBCUtils {
private static final String driverClass;
private static final String url;
private static final String username;
private static final String password;
static {
//加载文件属性并解析
Properties props=new Properties();
//如何获得属性文件的输入流
//通常情况下使用类的加载器的方式进行截取
InputStream is=JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
try {
props.load(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
driverClass=props.getProperty("driverClass");
url=props.getProperty("url");
username=props.getProperty("username");
password=props.getProperty("password");
}
/**
* 注册驱动的方法
* @throws ClassNotFoundException
*/
public static void loadDriver() throws ClassNotFoundException {
Class.forName(driverClass);
}
/**
* 获得连接的方法
* @throws SQLException
*/
public static Connection getConnection() throws Exception {
loadDriver();
Connection conn=DriverManager.getConnection(url,username,password);
return conn;
}
/**
* 资源释放
*/
public static void release(Statement stmt,Connection conn) {
if(stmt!=null) {
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
stmt=null;
if(conn!=null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
conn=null;
}
public static void release(ResultSet rs,Statement stmt,Connection conn) {
if(stmt!=null) {
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
stmt=null;
if(conn!=null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
conn=null;
if(rs!=null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
rs=null;
}
}create table course( id int unsigned auto_increment key, name varchar(20) not null, category varchar(20) not null, desp varchar(30) not null, createTime datetime not null );
2回答
好帮手慕小班
2020-10-09
同学你好,1、同学可以将new java.sql.Timestamp(new java.util.Date().getTime())理解为一种通用的形式。
2、显示出来的时间也是一样,同学是说同时存入的数据,时间是一样的吗,如果是,同学存入数据时,获取到的系统时间是一样的没有问题。
如果同学想表达的不是这个意思,还麻烦同学具体描述一下。
祝学习愉快~
好帮手慕珊
2020-10-07
同学,你好!代码整体完成得很不错,只是时间显示的时候没有日期。

修改建议:获取时间的时候使用getString()方法就可以了。

另外,如果不想让时分秒都是0,也可以在插入数据时使用如下方法:
pstmt.setTimestamp(4, new java.sql.Timestamp(new java.util.Date().getTime()));
用于替换setDate(),修改后代码如下所示:

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题
回答 4
回答 1
回答 1
回答 2
回答 3