老师帮我看看我的回答如何,还有几个有关问题
来源:6-6 自由编程
Wonwayshon
2021-01-01 10:56:52
package com.imooc.jdbc.demo1;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.junit.Test;
import com.imooc.jdbc.utils.JDBCUtils;
public class JDBCTest6 {
//首先将表格中的三条数据添加到数据库
@Test
public void insert(){
Connection con=null;
PreparedStatement pStm=null;
try {
con=JDBCUtils.getConnection();
String sql="INSERT course(name,category,desp,createTime) VALUES(?,?,?,?),(?,?,?,?),(?,?,?,?);";
pStm=con.prepareStatement(sql);
pStm.setString(1, "Java零基础");
pStm.setString(2, "Java");
pStm.setString(3, "Java基础语法");
pStm.setDate(4, new Date(System.currentTimeMillis()));
pStm.setString(5, "Java Web");
pStm.setString(6, "Java");
pStm.setString(7, "Jsp和Servlet");
pStm.setDate(8, new Date(System.currentTimeMillis()));
pStm.setString(9, "前端小白");
pStm.setString(10, "前端");
pStm.setString(11, "HTML/CSS/JS");
pStm.setDate(12, new Date(System.currentTimeMillis()));
int i=pStm.executeUpdate();
if(i>0) {
System.out.println(i+" lines affected!");
}
}catch(Exception e) {
e.printStackTrace();
}finally {
JDBCUtils.release(pStm, con);
}
}
//显示所有数据
@Test
public void displayAll() {
Connection con=null;
PreparedStatement pStm=null;
ResultSet rs=null;
try {
con=JDBCUtils.getConnection();
String sql="Select * FROM course;";
pStm=con.prepareStatement(sql);
rs=pStm.executeQuery();
while(rs.next()) {
int id=rs.getInt("id");
String name=rs.getString("name");
String category=rs.getString("category");
String desp=rs.getString("desp");
Date createTime=rs.getDate("createTime");
System.out.println(id+" "+name+" "+category+" "+desp+" "+createTime);
}
}catch(Exception e){
e.printStackTrace();
}finally {
JDBCUtils.release(pStm, con, rs);
}
}
//查询课程名称为Java零基础的数据并显示
@Test
public void display() {
Connection con=null;
PreparedStatement pStm=null;
ResultSet rs=null;
try {
con=JDBCUtils.getConnection();
String sql="Select * FROM course WHERE name=?;";
pStm=con.prepareStatement(sql);
pStm.setString(1, "Java零基础");
rs=pStm.executeQuery();
if(rs.next()) {
int id=rs.getInt("id");
String name=rs.getString("name");
String category=rs.getString("category");
String desp=rs.getString("desp");
Date createTime=rs.getDate("createTime");
System.out.println(id+" "+name+" "+category+" "+desp+" "+createTime);
}
}catch(Exception e){
e.printStackTrace();
}finally {
JDBCUtils.release(pStm, con, rs);
}
}
//将Java零基础的课程描述改为Java语法
@Test
public void update(){
Connection con=null;
PreparedStatement pStm=null;
try {
con=JDBCUtils.getConnection();
String sql="UPDATE course SET desp=? WHERE name=?";
pStm=con.prepareStatement(sql);
pStm.setString(1, "Java语法");
pStm.setString(2, "Java零基础");
int i=pStm.executeUpdate();
if(i>0) {
System.out.println(i+" lines affected!");
}
}catch(Exception e) {
e.printStackTrace();
}finally {
JDBCUtils.release(pStm, con);
}
}
//删除Java Web这门课程
@Test
public void delete(){
Connection con=null;
PreparedStatement pStm=null;
try {
con=JDBCUtils.getConnection();
String sql="DELETE FROM course WHERE name=?";
pStm=con.prepareStatement(sql);
pStm.setString(1, "Java Web");
int i=pStm.executeUpdate();
if(i>0) {
System.out.println(i+" lines affected!");
}
}catch(Exception e) {
e.printStackTrace();
}finally {
JDBCUtils.release(pStm, con);
}
}
//按创建时间倒序排序显示所有数据
@Test
public void displayAllDesc() {
Connection con=null;
PreparedStatement pStm=null;
ResultSet rs=null;
try {
con=JDBCUtils.getConnection();
String sql="Select * FROM course ORDER BY createTime DESC;";
pStm=con.prepareStatement(sql);
rs=pStm.executeQuery();
while(rs.next()) {
int id=rs.getInt("id");
String name=rs.getString("name");
String category=rs.getString("category");
String desp=rs.getString("desp");
Date createTime=rs.getDate("createTime");
System.out.println(id+" "+name+" "+category+" "+desp+" "+createTime);
}
}catch(Exception e){
e.printStackTrace();
}finally {
JDBCUtils.release(pStm, con, rs);
}
}
}-- 课程信息表
CREATE TABLE IF NOT EXISTS course(
id INT AUTO_INCREMENT KEY COMMENT "课程编号",
name VARCHAR(20) NOT NULL COMMENT "课程名称",
category VARCHAR(20) NOT NULL COMMENT "所属方向",
desp VARCHAR(30) NOT NULL COMMENT "课程描述",
createTime DATETIME NOT NULL COMMENT "创建时间"
);
-- 课程信息表内容
INSERT course(name,category,desp,createTime) VALUES("Java零基础","Java","Java基础语法",now()),
("Java Web","Java","Jsp和Servlet",now()),
("前端小白","前端","HTML/CSS/JS",now());老师,在java中书写sql语句时要;结尾吗比如String sql="SELECT * FROM course;",我试过有没有;sql都能正常执行,平时是写上;比较好吗?
在sql语句用now()导入的数据带时间的,但是我在Java中使用new Date(System.currentTimeMillis())存入数据库的时间只精确带到天没有时间,这是正常现象吗?
对于这样的当前时间存入要求,把now()直接写到sql字符串里是不是更好一些?

1回答
同学你好,测试运行上述贴出的代码是正确的,棒棒的~继续加油~
1、老师,在java中书写sql语句时要;结尾吗比如String sql="SELECT * FROM course;",我试过有没有;sql都能正常执行,平时是写上;比较好吗?
答:加上与不加上都是可以的,但为了代码规范同学加上分号是最好的。
2、在sql语句用now()导入的数据带时间的,但是我在Java中使用new Date(System.currentTimeMillis())存入数据库的时间只精确带到天没有时间,这是正常现象吗?
答:是的,是正常现象
3、对于这样的当前时间存入要求,把now()直接写到sql字符串里是不是更好一些?
答:是的,修改代码如下所示:


祝学习愉快~
相似问题