-
准备工作
- 新建maven web项目
- 测试Tomcat
-
导入相关依赖:
-
数据库准备
supermarket:smbms_address,smbms_bill,smbms_provider,smbms_role,smbms_user
-
构建相应的实体类
-
编写配置文件
db.properties
-
编写数据库的公共类
参考:https://blog.csdn.net/qq_42647047/article/details/116503457package 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; } }
-
设置字符编码过滤器:在filter建一个类实现Filter接口,重写方法,将请求相应设置为utf-8编码,并在web.xml中配置字符编码过滤器
-
导入静态资源css,js等资源,放在webapp文件夹下