前端页面展示
1. 项目介绍
1.1 开发环境
JDK17 + MySQL8 + Tomcat10.1 + JDBCTemplate + Druid
1.2 Maven坐标
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.2.20.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.20.RELEASE</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.4.11</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.7</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.28</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.33</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
</dependency>
<dependency>
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jakarta.servlet.jsp.jstl</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>jakarta.servlet.jsp.jstl</groupId>
<artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-spec</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</version>
</dependency>
1.3 配置文件
1.3.1 日志文件logback.xml
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
1.3.2 Druid.properties配置文件
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql:///day17
username=root
password=root
initialSize=5
maxActive=10
maxWait=3000
1.3.2 数据库工具类
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
/**
* JDBC工具类 使用Durid连接池
*/
public class JdbcUtils {
private static DataSource ds ;
static {
try {
//1.加载配置文件
Properties pro = new Properties();
//使用ClassLoader加载配置文件,获取字节输入流
InputStream is = JdbcUtils.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);
//2.初始化连接池对象
ds = DruidDataSourceFactory.createDataSource(pro);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取连接池对象
*/
public static DataSource getDataSource(){
return ds;
}
/**
* 获取连接Connection对象
*/
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
}
1.4 项目结构
2. 项目地址
3.数据库初始化
/*
Navicat MySQL Data Transfer
Source Server : 本地MySQL
Source Server Type : MySQL
Source Server Version : 80034 (8.0.34)
Source Host : localhost:3306
Source Schema : day17
Target Server Type : MySQL
Target Server Version : 80034 (8.0.34)
File Encoding : 65001
Date: 30/08/2023 20:37:25
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`gender` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`age` int NULL DEFAULT NULL,
`address` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`qq` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, '张三', '男', 13, '广东', '12345', 'zhangsan@itcast.cn', 'zs', '123');
INSERT INTO `user` VALUES (2, '李四', '女', 15, '湖南', '88888111', 'ls@itcast.cn', 'ls', '123');
INSERT INTO `user` VALUES (5, '张三', '男', 28, '北京市朝阳区123号', '123456789', 'zhangsan@example.com', 'zhangsan', '密码123');
INSERT INTO `user` VALUES (6, '李四', '女', 22, '上海市浦东新区456号', '987654321', 'lisi@example.com', 'lisi', '安全密码');
INSERT INTO `user` VALUES (7, '王五', '男', 30, '广州市天河区789号', '543216789', 'wangwu@example.com', 'wangwu', '测试123');
INSERT INTO `user` VALUES (8, '赵六', '女', 25, '深圳市南山区567号', '567890123', 'zhaoliu@example.com', 'zhaoliu', '我的密码');
INSERT INTO `user` VALUES (9, '刘七', '男', 27, '成都市武侯区789号', '789012345', 'liuqi@example.com', 'liuqi', '123456');
INSERT INTO `user` VALUES (10, '陈八', '女', 23, '重庆市渝中区678号', '987654321', 'chenba@example.com', 'chenba', 'abc123');
INSERT INTO `user` VALUES (11, '张九', '男', 29, '武汉市江汉区567号', '654321987', 'zhangjiu@example.com', 'zhangjiu', 'hello123');
INSERT INTO `user` VALUES (12, '李十', '女', 31, '南京市鼓楼区456号', '789012345', 'lishi@example.com', 'lishi', 'world456');
INSERT INTO `user` VALUES (13, '刘十一', '男', 24, '西安市雁塔区345号', '987654321', 'liuyi@example.com', 'liuyi', 'welcome123');
INSERT INTO `user` VALUES (14, '陈十二', '女', 26, '杭州市西湖区234号', '678901234', 'chener@example.com', 'chener', 'test456');
INSERT INTO `user` VALUES (15, '王十三', '男', 28, '苏州市姑苏区123号', '987654321', 'wangsan@example.com', 'wangsan', 'pass123');
INSERT INTO `user` VALUES (16, '张十四', '女', 29, '天津市和平区234号', '123456789', 'zhangsi@example.com', 'zhangsi', 'secure456');
INSERT INTO `user` VALUES (17, '李十五', '男', 30, '深圳市福田区345号', '987654321', 'liwu@example.com', 'liwu', 'testpass123');
INSERT INTO `user` VALUES (18, '赵十六', '女', 27, '上海市静安区456号', '567890123', 'zhaoliu@example.com', 'zhaoliu', 'mypassword');
INSERT INTO `user` VALUES (19, '刘十七', '男', 25, '广州市海珠区567号', '543216789', 'liuqi@example.com', 'liuqi', 'hellopass');
INSERT INTO `user` VALUES (20, '陈十八', '女', 23, '北京市东城区678号', '789012345', 'chener@example.com', 'chener', 'world123');
INSERT INTO `user` VALUES (21, '王十九', '男', 28, '成都市锦江区789号', '654321987', 'wangs@example.com', 'wangs', 'testpass');
INSERT INTO `user` VALUES (22, '李二十', '女', 24, '重庆市南岸区890号', '987654321', 'liere@example.com', 'liere', 'mypass123');
INSERT INTO `user` VALUES (23, '刘廿一', '男', 26, '武汉市汉阳区901号', '123456789', 'liuyi@example.com', 'liuyi', 'passworld');
INSERT INTO `user` VALUES (24, '陈廿二', '女', 25, '南京市秦淮区012号', '987654321', 'chener@example.com', 'chener', 'hello456');
SET FOREIGN_KEY_CHECKS = 1;