准备工作

  1. 准备工作

    • 新建maven web项目
    • 测试Tomcat
  2. 导入相关依赖:

  3. 数据库准备

supermarket:smbms_address,smbms_bill,smbms_provider,smbms_role,smbms_user

  1. 构建相应的实体类

  2. 编写配置文件

    db.properties

  3. 编写数据库的公共类
    参考:https://blog.csdn.net/qq_42647047/article/details/116503457

      package com.test.dao;
    
      import java.io.IOException;
      import java.io.InputStream;
      import java.sql.*;
      import java.util.Properties;
    
      /**
       * 操作数据库的基类--静态类
       * @author Administrator
       *
       */
      public class BaseDao {
      	
      	static{//静态代码块,在类加载的时候执行
      		init();
      	}
      	
      	private static String driver;
      	private static String url;
      	private static String user;
      	private static String password;
      	
      	//初始化连接参数,从配置文件里获得
      	public static void init(){
      		Properties params=new Properties();
      		InputStream is=BaseDao.class.getClassLoader().getResourceAsStream("db.properties");
      		try {
      			params.load(is);
      		} catch (IOException e) {
      			e.printStackTrace();
      		}
      		driver=params.getProperty("driver");
      		url=params.getProperty("url");
      		user=params.getProperty("user");
      		password=params.getProperty("password");
    
      	}   
      		
      	/**
      	 * 获取数据库连接
      	 * @return
      	 */
      	public static Connection getConnection(){
      		Connection connection = null;
      		try {
      			Class.forName(driver);
      			connection = DriverManager.getConnection(url, user, password);
      		} catch (Exception e) {
      			e.printStackTrace();
      		}
      		
      		return connection;
      	}
      	/**
      	 * 查询操作
      	 * @param connection
      	 * @param pstm
      	 * @param rs
      	 * @param sql
      	 * @param params
      	 * @return
      	 */
      	public static ResultSet execute(Connection connection,PreparedStatement pstm,ResultSet rs, String sql,Object[] params) throws Exception{
      		pstm = connection.prepareStatement(sql);
      		//向sql中的占位符加载参数Object[] params
      		for(int i = 0; i < params.length; i++){
      			pstm.setObject(i+1, params[i]);
      		}
      		rs = pstm.executeQuery();
      		return rs;
      	}
      	/**
      	 * 更新操作
      	 * @param connection
      	 * @param pstm
      	 * @param sql
      	 * @param params
      	 * @return
      	 * @throws Exception
      	 */
      	public static int execute(Connection connection,PreparedStatement pstm, String sql,Object[] params) throws Exception{
      		int updateRows = 0;
      		pstm = connection.prepareStatement(sql);
      		for(int i = 0; i < params.length; i++){
      			pstm.setObject(i+1, params[i]);
      		}
      		updateRows = pstm.executeUpdate();
      		return updateRows;
      	}
      	
      	/**
      	 * 释放资源
      	 * @param connection
      	 * @param pstm
      	 * @param rs
      	 * @return
      	 */
      	public static boolean closeResource(Connection connection,PreparedStatement pstm,ResultSet rs){
      		boolean flag = true;
      		if(rs != null){
      			try {
      				rs.close();
      				rs = null; //如果rs.close()没关上,让其等于null,使垃圾回收器自动回收。
      			} catch (SQLException e) {
      				e.printStackTrace();
      				flag = false;
      			}
      		}
      		if(pstm != null){
      			try {
      				pstm.close();
      				pstm = null;//GC回收
      			} catch (SQLException e) {
      				// TODO Auto-generated catch block
      				e.printStackTrace();
      				flag = false;
      			}
      		}
      		if(connection != null){
      			try {
      				connection.close();
      				connection = null;//GC回收
      			} catch (SQLException e) {
      				// TODO Auto-generated catch block
      				e.printStackTrace();
      				flag = false;
      			}
      		}
      		
      		return flag;
      	}
    
      }
    
    
  4. 设置字符编码过滤器:在filter建一个类实现Filter接口,重写方法,将请求相应设置为utf-8编码,并在web.xml中配置字符编码过滤器

  5. 导入静态资源css,js等资源,放在webapp文件夹下

posted @   Hanyta  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示