老师请看下我的代码完成的如何?
这是项目结构

代码如下:
package com.mason.Dao;
import com.mason.Utils.ConnectionUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class addCourseDao {
public static boolean addCourse(String name, String category, String desp){
Connection conn=null;
PreparedStatement pstmt=null;
boolean flag=false;
try {
//获得连接
conn=ConnectionUtil.getConnection();
//编写SQL语句
String sql="INSERT course VALUES(NULL,?,?,?,NOW())";
//预编译SQL
pstmt = conn.prepareStatement(sql);
//设置具体参数
pstmt.setString(1,name);
pstmt.setString(2,category);
pstmt.setString(3,desp);
//执行SQL
int i = pstmt.executeUpdate();
if (i > 0) {
System.out.println("添加成功");
flag=true;
} else {
System.out.println("失败成功");
flag=false;
}
} catch (Exception e) {
e.printStackTrace();
}finally {
ConnectionUtil.release(conn,pstmt);
}
return flag;
}
}package com.mason.Dao;
import com.mason.Utils.ConnectionUtil;
import com.mason.entity.Course;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
//获取所有课程
public class selectCourseDao {
public static ArrayList<Course> selectCourse() {
//创建集合,存入查询到的每一个课程
ArrayList<Course> courseList = new ArrayList<>();
Connection conn=null;
ResultSet rs=null;
PreparedStatement pstmt=null;
try {
//获取连接
conn=ConnectionUtil.getConnection();
//编写SQL
String sql="SELECT * FROM course";
//预编译
pstmt = conn.prepareStatement(sql);
//执行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");
Date createTime = rs.getDate("createTime");
//创建课程类
Course course=new Course(id,name,category,desp,createTime);
//存入查询到的课程集合中
courseList.add(course);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
ConnectionUtil.release(conn,rs,pstmt);
}
return courseList;
}
}package com.mason.entity;
import java.util.Date;
/**
* 括编号、名称、方向、描述、创建时间等属性及相关的get和set方法、构造方法
*/
public class Course {
private Integer id;
private String name;
private String category;
private String desp;
private Date createTime;
public Course() {
}
public Course(Integer id, String name, String category, String desp, Date createTime) {
this.id = id;
this.name = name;
this.category = category;
this.desp = desp;
this.createTime = createTime;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getDesp() {
return desp;
}
public void setDesp(String desp) {
this.desp = desp;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}package com.mason.servlet;
import com.mason.Dao.addCourseDao;
import com.mason.Dao.selectCourseDao;
import com.mason.entity.Course;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Objects;
public class serviceServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
if (Objects.equals("/addCourse",req.getServletPath())){
req.setCharacterEncoding("UTF-8");
String name = req.getParameter("name");
String category = req.getParameter("category");
String desp = req.getParameter("desp");
boolean flag = addCourseDao.addCourse(name, category, desp);
if (flag) {
resp.sendRedirect(req.getContextPath()+"/selectCourse");
}else {
resp.sendRedirect(req.getContextPath()+"/jsp/error.jsp");
}
}
if (Objects.equals("/selectCourse", req.getServletPath())) {
ArrayList<Course> courses = selectCourseDao.selectCourse();
req.setAttribute("courses",courses);
req.getRequestDispatcher("/jsp/showCourse.jsp").forward(req,resp);
}
}
}package com.mason.Utils;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* 主要用于获取和关闭数据库连接对象
*/
public class ConnectionUtil {
//创建c3p0连接池对象
private static final ComboPooledDataSource dataSource=new ComboPooledDataSource();
//获取连接
public static Connection getConnection() {
Connection conn=null;
try {
conn=dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
//关闭数据库连接对象
public static void release(Connection conn, ResultSet rs, PreparedStatement pstmt) {
if (conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn=null;
}
if (rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
rs=null;
}
if (pstmt!=null){
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
pstmt=null;
}
}
public static void release(Connection conn, PreparedStatement pstmt) {
if (conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn=null;
}
if (pstmt!=null){
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
pstmt=null;
}
}
}81
收起
正在回答
3回答
同学的代码完成的非常不错,但是还有一点需要注意,类名首字母一定要大写。继续加油。
祝:学习愉快~
MasonM
2019-05-18 12:58:28
页面代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>添加课程</title> </head> <body> <div> <h1>课程添加</h1> <form action="/addCourse"> 课程名<input type="text" name="name"></br> 所属方向<input type="text" name="category"></br> 课程描述<input type="text" name="desp"> <input type="submit" value="添加"> </form> </div> </body> </html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>错误页面</title> </head> <body> 出错咧 </body> </html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>显示课表</title>
</head>
<style>
table {
border: 1px solid black;
}
tr,td{
border: 1px solid black;
}
</style>
<body>
<h1>添加成功</h1>
<table>
<tr>
<td>课程名称</td>
<td>所属方向</td>
<td>课程描述</td>
<td>创建时间</td>
</tr>
<c:forEach var="co" items="${courses}" varStatus="idx">
<tr>
<td>${co.name}</td>
<td>${co.category}</td>
<td>${co.desp}</td>
<td>${co.createTime}</td>
</tr>
</c:forEach>
</table>
</body>
</html>XML:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <welcome-file-list> <welcome-file>jsp/addCourse.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>serviceServlet</servlet-name> <servlet-class>com.mason.servlet.serviceServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>serviceServlet</servlet-name> <url-pattern>/addCourse</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>serviceServlet</servlet-name> <url-pattern>/selectCourse</url-pattern> </servlet-mapping> <error-page> <error-code>404</error-code> <location>/jsp/error.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/jsp/error.jsp</location> </error-page> </web-app>
3. Java 数据库开发与实战应用
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程


恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星