6-6 自由编程 作业
来源:6-6 自由编程
csm032
2020-04-24 22:19:01
————————mysql———————— create table course( id int unsigned key auto_increment comment '课程编号', name varchar(20) not null comment '课程名称', category varchar(20) not null comment '所属方向', desp varchar(30) not null comment '课程描述', createTime timestamp not null comment '创建时间' );
————————JDBCDemo2————————
package com.imooc.jdbc.demo;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import org.junit.Test;
import com.imooc.jdbc.utils.JDBCUtils;
import com.imooc.jdbc.utils.SearchInfo;
public class JDBCDemo2 {
@Test
public void demo() {
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
String str="";
try {
conn=JDBCUtils.getConnection();
// 1、首先将表格中的三条数据添加到数据库
String sql="insert course values(null,?,?,?,?),(null,?,?,?,?),(null,?,?,?,?)";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, "Java零基础");
pstmt.setString(2, "Java");
pstmt.setString(3, "Java基础语法");
pstmt.setTimestamp(4, new Timestamp(System.currentTimeMillis()));
pstmt.setString(5, "Java Web");
pstmt.setString(6, "Java");
pstmt.setString(7, "JSP和Servlet");
pstmt.setTimestamp(8, new Timestamp(System.currentTimeMillis()));
pstmt.setString(9, "前端小白");
pstmt.setString(10, "前端");
pstmt.setString(11, "HTML/CSS/JS");
pstmt.setTimestamp(12, new Timestamp(System.currentTimeMillis()));
int num=pstmt.executeUpdate();
if(num>0) {
System.out.println("添加数据成功\n");
// System.out.println(new Timestamp(System.currentTimeMillis()));
}else {
System.out.println("添加数据失败\n");
}
// 2、显示所有数据
sql="select * from course";
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
str=SearchInfo.searchInfo(rs);
System.out.println(str);
// 3、查询课程名称为Java零基础的数据并显示
sql="select * from course where name=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, "Java零基础");
rs=pstmt.executeQuery();
str=SearchInfo.searchInfo(rs);
System.out.println(str);
//4、将Java零基础的课程描述改为Java语法
sql="update course set name=? where name=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, "Java语法");
pstmt.setString(2, "Java零基础");
num=pstmt.executeUpdate();
if(num>0) {
System.out.println("修改成功\n");
}else {
System.out.println("修改失败\n");
}
// 5、删除Java Web这门课程
sql="delete from course where name=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, "Java Web");
num=pstmt.executeUpdate();
if(num>0) {
System.out.println("删除成功\n");
}else {
System.out.println("删除失败\n");
}
//6、按创建时间倒序排序显示所有数据
sql="select * from course order by createTime desc";
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
str=SearchInfo.searchInfo(rs);
System.out.println(str);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
JDBCUtils.release(rs, pstmt, conn);
}
}
}————————JDBCUtils————————
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;
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 pros=new Properties();
InputStream is=JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
try {
pros.load(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
driverClass=pros.getProperty("driverClass");
url=pros.getProperty("url");
username=pros.getProperty("username");
password=pros.getProperty("password");
// driverClass="com.mysql.cj.jdbc.Driver";
// url="jdbc:mysql://localhost:3306/jdbctest?serverTimezone=Hongkong";
// username="root";
// password="123456";
}
//加载驱动方法
public static void loadDriver() throws ClassNotFoundException {
Class.forName(driverClass);
}
//建立连接的方法
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(rs!=null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs=null;
}
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;
}
}
}————————SearchInfo————————
package com.imooc.jdbc.utils;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Time;
import java.sql.Timestamp;
public class SearchInfo {
public static String searchInfo(ResultSet rs) throws SQLException {
String str="";
while(rs.next()) {
int id=rs.getInt("id");
String name=rs.getString("name");
String category=rs.getString("category");
String desp=rs.getString("desp");
Timestamp createTime=rs.getTimestamp("createTime");
str=str+id+" "+name+" "+category+" "+desp+" "+createTime+'\n';
}
return str;
}
}————————jbc.properties———————— driverClass=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/jdbctest?serverTimezone=Hongkong username=root password=123456
1回答
好帮手慕小脸
2020-04-25
同学的代码完成的不错,继续加油。
祝:学习愉快~
相似问题