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

同学的代码完成的不错,继续加油。

祝:学习愉快~

0

0 学习 · 8016 问题

查看课程

相似问题