course:简单MVC+JDBC

7 篇文章 0 订阅
2 篇文章 0 订阅

JdbcUtils类XML配置有毒,本地运行没事,Tomcat就报错,无奈手动配置
1、要求:
在这里插入图片描述在这里插入图片描述

2、addCourse.jsp ------>AddCourseServlet ------>SelectCourseServlet ------>selectCourse.jsp
剩余:Course类、addCourse类、selectCourse类(查询结果存为List< Course>)、JdbcUtils类
附addCourse类、selectCourse类、JdbcUtils类:

addCourse类:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class AddCourse {
    //传入插入SQL语句执行,返回成功与否
    public boolean addCourse(Course course){
        int flag =0;
        Connection conn= null;
        PreparedStatement prps = null;
        try {
            conn = JdbcUtils.getConnection();
            prps = conn.prepareStatement("insert into course " +
                    "(id,name,category,desp,creatTime) values(null,?,?,?,?)");
            prps.setString(1,course.getName());
            prps.setString(2,course.getCategory());
            prps.setString(3,course.getDesp());
            prps.setTimestamp(4,JdbcUtils.getCurrentTimeStamp());
            flag = prps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
        JdbcUtils.release(prps,conn);
        }
        return flag==0?false:true;
    }
}

selectCourse类:

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class SelectCourse {
    public static List<Course> selectCourse(){
        Connection connection = JdbcUtils.getConnection();
        String sql = "select * from course";
        PreparedStatement preparedStatement =null;
        ResultSet resultSet =null;
        List<Course> courses= new ArrayList<>();
        try {
            preparedStatement = connection.prepareStatement(sql);
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()){
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                String category = resultSet.getString("category");
                String desp = resultSet.getString("desp");
                Timestamp creatTime = resultSet.getTimestamp("creatTime");
                Course course =new Course(name,category,desp);
                course.setCreatTime(creatTime);
                courses.add(course);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            JdbcUtils.releaseAll(resultSet,preparedStatement,connection);
        }
        return courses;
    }
}

JdbcUtils类:

import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.junit.jupiter.api.Test;

import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


public class JdbcUtils {
    private static ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
    //获取连接
    @Test
    public static Connection getConnection(){
        Connection connection = null;
        try {
            comboPooledDataSource.setDriverClass("com.mysql.cj.jdbc.Driver");
            comboPooledDataSource.setJdbcUrl("jdbc:mysql://localhost:3306/jdbctest?serverTimezone=UTC");
            comboPooledDataSource.setUser("root");
            comboPooledDataSource.setPassword("123");
            connection= comboPooledDataSource.getConnection();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (PropertyVetoException e) {
            e.printStackTrace();
        }
        return connection;
    }

    //释放资源
    public static void release (PreparedStatement preparedStatement, Connection connection ){
        try {
            if(preparedStatement!=null){
                preparedStatement.close();
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        preparedStatement= null;

        try {
            if(connection!=null){
                connection.close();
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        connection= null;
    }

    public static void releaseAll (ResultSet resultSet, PreparedStatement preparedStatement, Connection connection ){
        try {
            if(resultSet!=null){
                resultSet.close();
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        resultSet= null;

        try {
            if(preparedStatement!=null){
                preparedStatement.close();
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        preparedStatement= null;

        try {
            if(connection!=null){
                connection.close();
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        connection= null;
    }

    //获取当前时间
    public static java.sql.Timestamp getCurrentTimeStamp(){
        java.util.Date today = new java.util.Date();
        return new java.sql.Timestamp(today.getTime());
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值