购物车项目(MVC没用任何框架)

1.先了解一个思路就是dao-model-service-jsp

一个流程的东西

2.项目所需的jar包 

 自己在网上都可以找的jar包

3.需要将c3p0的配置文件写入classpath路径下面

文件名:c3p0-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
    <default-config>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/bookstore
        </property>
        <property name="user">root</property>
        <property name="password">root</property>
        <!-- 初始化连接池数量 -->
        <property name="initialPoolSize">10</property>
        
        <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
        <property name="maxIdleTime">60</property>

        <!--连接池中保留的最大连接数。Default: 15 -->
        <property name="maxPoolSize">25</property>
        
        <!--连接池中保留的 最小连接数 ,Default:3  -->
        <property name="minPoolSize">10</property>
    </default-config>
</c3p0-config>

4.c3p0untils文件

package bookstore.untils;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

//数据库连接成功
public class C3P0Utils {
    private static DataSource ds  = new ComboPooledDataSource();
    /**
     * 返回一个数据源,然后得到一个数据库连接
     * @return
     */
    public static DataSource getDataSource(){
        return ds;
    }
    /*
     * 返回一个连接
     */
    public static Connection getConnection(){
        try {
            return ds.getConnection();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            throw new RuntimeException("服务器错误");
        }
    }
    public static void closeAll(Connection conn,Statement statement,ResultSet resultSet){
        if(resultSet != null){
            try {
                resultSet.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            resultSet = null;
        }
        if(statement != null){
            try {
                statement.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            statement = null;
        }
        if(conn != null){
            try {
                conn.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                conn = null;
            }
        }
    }
}
原文地址:https://www.cnblogs.com/whr-blogs/p/12256691.html