Bootstrap4+MySQL前后端综合实训-Day10-AM【实训汇报-下午返校、项目代码(7个包+7个Html页面)】
【Bootstrap4前端框架+MySQL數(shù)據(jù)庫】前后端綜合實(shí)訓(xùn)【10天課程 博客匯總表 詳細(xì)筆記】【附:實(shí)訓(xùn)所有代碼】
目錄
實(shí)訓(xùn)匯報(bào)
數(shù)據(jù)庫——所有SQL語句
工程文件展示
代碼
①package com.newcapec.dao;
BaseDao.java
ItemUserDao.java
LogsInfoDao.java
NewItemDao.java
NewsInfoDao.java
UserInfoDao.java
②package com.newcapec.entity;
ItemUserEntity.java
LogsInfoEntity.java
NewItemEntity.java
NewsInfoEntity.java
ResultData.java
UserInfoEntity.java
③package com.newcapec.servlet;
AddUserServlet.java
DeleteUserServlet.java
LoginServlet.java
SelectUserByIdServlet.java
SelectUserByPageServlet.java
UpdateUserServlet.java
④package com.newcapec.servlet.newitem;
AddItemServlet.java
DeleteItemServlet.java
SelectItemByIdServlet.java
SelectItembyUserServlet.java
UpdateItemServlet.java
⑤package com.newcapec.servlet.news;
AddNewsServlet.java
⑥package com.newcapec.test;
TestItemUserDao.java
TestLogsInfoDao.java
TestNewItemDao.java
NewsInfoDao.java
TestUserInfoDao.java
⑦package com.newcapec.utils;
DBUtils.java
MD5Utils.java
pages
item_manager.html
news_manager.html
user_manager.html
index.html
login.html
loginFailure.html
phone.html
實(shí)訓(xùn)匯報(bào)
從昨天下午就開始實(shí)訓(xùn)答辯了。
今天上午,繼續(xù)答辯。
上午10:00左右,所有的小組答辯完畢。
革命尚未成功,同學(xué)仍需努力~
數(shù)據(jù)庫——所有SQL語句
/* SQLyog Ultimate v12.08 (64 bit) MySQL - 8.0.20 : Database - zykkk ********************************************************************* *//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/`zykkk` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_hungarian_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;USE `zykkk`;/*Table structure for table `item_user` */DROP TABLE IF EXISTS `item_user`;CREATE TABLE `item_user` (`item_user_id` int NOT NULL AUTO_INCREMENT,`user_id` int DEFAULT NULL,`item_id` int DEFAULT NULL,`create_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時(shí)間',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時(shí)間',`status` int DEFAULT '1' COMMENT '1:啟用 0:禁用',PRIMARY KEY (`item_user_id`),KEY `FK_Reference_2` (`user_id`),KEY `FK_Reference_3` (`item_id`),CONSTRAINT `FK_Reference_2` FOREIGN KEY (`user_id`) REFERENCES `user_info` (`user_id`),CONSTRAINT `FK_Reference_3` FOREIGN KEY (`item_id`) REFERENCES `new_item` (`item_id`) ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_hungarian_ci;/*Data for the table `item_user` */insert into `item_user`(`item_user_id`,`user_id`,`item_id`,`create_time`,`update_time`,`status`) values (1,1,2,'2020-11-23 11:24:16','2020-11-25 10:27:54',1),(2,2,4,NULL,'2020-11-25 09:38:17',1),(3,1,1,'2020-11-24 09:19:58','2020-11-25 09:38:21',1),(5,1,18,NULL,'2020-11-25 09:44:16',1),(6,1,27,'2020-11-25 11:11:35','2020-11-25 11:11:35',1),(7,1,28,'2020-11-25 11:17:59','2020-11-25 11:17:59',1),(8,1,29,'2020-11-25 11:29:14','2020-11-25 11:29:14',1),(9,1,30,'2020-11-25 11:30:54','2020-11-25 11:30:54',1),(10,1,31,'2020-11-25 11:36:51','2020-11-25 11:36:51',1),(11,1,32,'2020-11-25 16:26:23','2020-11-25 16:26:23',1),(12,1,33,'2020-11-25 16:26:37','2020-11-25 16:26:37',1),(13,1,34,'2020-11-26 10:01:29','2020-11-26 10:01:29',1),(14,1,35,'2020-11-26 10:28:53','2020-11-26 10:28:53',1);/*Table structure for table `logs_info` */DROP TABLE IF EXISTS `logs_info`;CREATE TABLE `logs_info` (`logs_id` int NOT NULL AUTO_INCREMENT,`user_id` int DEFAULT NULL,`logs_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_hungarian_ci,`create_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時(shí)間',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時(shí)間',PRIMARY KEY (`logs_id`),KEY `FK_Reference_1` (`user_id`),CONSTRAINT `FK_Reference_1` FOREIGN KEY (`user_id`) REFERENCES `user_info` (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_hungarian_ci;/*Data for the table `logs_info` */insert into `logs_info`(`logs_id`,`user_id`,`logs_content`,`create_time`,`update_time`) values (1,1,NULL,NULL,'2020-11-24 09:27:05'),(2,2,NULL,NULL,'2020-11-24 09:27:12'),(3,4,NULL,NULL,'2020-11-23 11:29:06'),(14,1,'woshishenren','2020-11-24 09:24:52','2020-11-24 09:24:52'),(15,1,'woshishenren','2020-11-24 09:25:58','2020-11-24 09:25:58');/*Table structure for table `new_item` */DROP TABLE IF EXISTS `new_item`;CREATE TABLE `new_item` (`item_id` int NOT NULL AUTO_INCREMENT,`item_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_hungarian_ci NOT NULL,`create_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時(shí)間',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時(shí)間',`status` int DEFAULT '1' COMMENT '1:啟用 0:禁用',PRIMARY KEY (`item_id`) ) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_hungarian_ci;/*Data for the table `new_item` */insert into `new_item`(`item_id`,`item_name`,`create_time`,`update_time`,`status`) values (1,'呵呵噠','2020-11-24 15:47:00','2020-11-26 10:28:39',1),(2,'黨支部','2020-11-24 15:47:03','2020-11-25 14:44:31',0),(3,'分團(tuán)委','2020-11-24 15:47:05','2020-11-25 14:43:54',1),(4,'院團(tuán)委','2020-11-24 15:47:08','2020-11-25 14:44:38',1),(5,'111','2020-11-23 15:22:54','2020-11-25 14:45:55',1),(6,'學(xué)生會(huì)','2020-11-24 09:27:36','2020-11-25 14:46:01',1),(8,'黨支部','2020-11-24 13:51:13','2020-11-25 14:46:07',1),(18,'黨支部','2020-11-25 09:11:51','2020-11-25 15:49:06',1),(19,'院團(tuán)委','2020-11-25 10:42:54','2020-11-25 14:46:16',1),(20,'111','2020-11-25 10:54:12','2020-11-25 14:46:19',1),(21,'學(xué)生會(huì)','2020-11-25 10:56:21','2020-11-25 14:46:35',1),(22,'黨支部','2020-11-25 10:57:35','2020-11-25 14:46:43',1),(23,'分團(tuán)委','2020-11-25 11:00:20','2020-11-25 14:46:48',1),(24,'院團(tuán)委','2020-11-25 11:00:47','2020-11-25 14:46:55',1),(25,'qweqwe','2020-11-25 11:01:37','2020-11-25 11:01:37',1),(26,'eqweqweqwe','2020-11-25 11:01:53','2020-11-25 11:01:53',1),(27,'分團(tuán)委','2020-11-25 11:11:35','2020-11-25 15:49:18',1),(28,'sadsads','2020-11-25 11:17:59','2020-11-25 11:18:40',0),(29,'院團(tuán)委','2020-11-25 11:29:13','2020-11-25 15:49:25',1),(30,'789','2020-11-25 11:30:54','2020-11-25 11:37:19',0),(31,'zyk','2020-11-25 11:36:51','2020-11-25 11:37:19',0),(32,'委員會(huì)','2020-11-25 16:26:23','2020-11-26 08:37:48',0),(33,'委員會(huì)~~~','2020-11-25 16:26:37','2020-11-26 10:01:40',1),(34,'演示~','2020-11-26 10:01:29','2020-11-26 10:01:33',0),(35,'筑基修士!!!','2020-11-26 10:28:53','2020-11-26 10:29:14',1);/*Table structure for table `news_info` */DROP TABLE IF EXISTS `news_info`;CREATE TABLE `news_info` (`new_id` int NOT NULL AUTO_INCREMENT,`item_id` int DEFAULT NULL,`news_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_hungarian_ci NOT NULL,`news_image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_hungarian_ci DEFAULT NULL,`news_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_hungarian_ci,`create_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時(shí)間',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時(shí)間',PRIMARY KEY (`new_id`),KEY `FK_Reference_4` (`item_id`),CONSTRAINT `FK_Reference_4` FOREIGN KEY (`item_id`) REFERENCES `new_item` (`item_id`) ) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_hungarian_ci;/*Data for the table `news_info` */insert into `news_info`(`new_id`,`item_id`,`news_title`,`news_image`,`news_content`,`create_time`,`update_time`) values (1,2,'藍(lán)橋杯比賽',NULL,NULL,NULL,'2020-11-23 09:27:39'),(2,3,'新學(xué)期學(xué)費(fèi)',NULL,NULL,NULL,'2020-11-23 09:28:10'),(3,1,'拔河比賽',NULL,'拔河比賽要使勁!!!','2020-11-25 14:57:28','2020-11-25 14:57:32'),(4,18,'街舞比賽',NULL,'一起搖擺~','2020-11-25 15:54:09','2020-11-25 15:54:11'),(10,27,'數(shù)學(xué)建模',NULL,'一起加油!','2020-11-25 16:10:02','2020-11-25 22:17:19'),(11,29,'班班唱',NULL,'《走向復(fù)興》','2020-11-25 16:12:23','2020-11-25 16:12:23'),(12,1,'籃球比賽',NULL,'沖沖沖~','2020-11-25 16:13:04','2020-11-25 16:13:04'),(13,1,'NECCS',NULL,'沖呀~','2020-11-25 16:27:22','2020-11-26 08:38:03'),(14,18,'卓見杯',NULL,'啦啦啦~','2020-11-25 17:41:32','2020-11-25 22:17:56'),(15,33,'動(dòng)則升陽',NULL,'年輕不養(yǎng)生,年老養(yǎng)醫(yī)生!','2020-11-26 00:12:42','2020-11-26 00:12:42'),(16,33,'11月26日',NULL,'筑基修士','2020-11-26 10:02:20','2020-11-26 10:02:20'),(17,35,'大家好',NULL,'333','2020-11-26 10:29:35','2020-11-26 10:29:35'),(18,35,'大家好!!!',NULL,'333','2020-11-26 10:29:45','2020-11-26 10:29:45');/*Table structure for table `user_info` */DROP TABLE IF EXISTS `user_info`;CREATE TABLE `user_info` (`user_id` int NOT NULL AUTO_INCREMENT,`user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_hungarian_ci NOT NULL,`user_pwd` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_hungarian_ci NOT NULL,`create_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時(shí)間',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時(shí)間',`status` int DEFAULT '1' COMMENT '1:啟用 0:禁用',PRIMARY KEY (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=120 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_hungarian_ci;/*Data for the table `user_info` */insert into `user_info`(`user_id`,`user_name`,`user_pwd`,`create_time`,`update_time`,`status`) values (1,'宋書航','1','2020-11-23 09:30:16','2020-11-25 22:16:25',1),(2,'雨柔子','1','2020-11-23 11:25:41','2020-11-25 22:16:25',1),(4,'王五','1','2020-11-23 11:25:58','2020-11-25 22:16:26',0),(5,'趙柳','1','2020-11-23 11:26:12','2020-11-25 22:16:26',0),(8,'田七','1','2020-11-23 11:26:29','2020-11-25 22:16:27',0),(9,'田七','1','2020-11-23 15:03:23','2020-11-25 22:16:28',0),(10,'田七','1','2020-11-23 15:03:43','2020-11-25 22:16:28',0),(11,'戴沐白','1','2020-11-24 10:45:06','2020-11-25 22:16:29',1),(12,'張小凡','1','2020-11-24 10:45:29','2020-11-25 22:16:29',1),(13,'userName2','1','2020-11-24 10:45:29','2020-11-25 22:16:30',0),(15,'碧瑤','1','2020-11-24 10:45:29','2020-11-25 22:16:31',1),(16,'趙戀凡','1','2020-11-24 10:45:29','2020-11-25 22:16:31',1),(17,'李長(zhǎng)壽','1','2020-11-24 10:45:29','2020-11-25 22:16:32',1),(18,'藍(lán)夢(mèng)娥','1','2020-11-24 10:45:29','2020-11-25 22:16:33',1),(22,'路明非','123456','2020-11-24 10:45:29','2020-11-25 17:44:31',1),(23,'楚子航','123456','2020-11-24 10:45:29','2020-11-25 22:14:26',1),(33,'喬微尼','123456','2020-11-24 10:45:29','2020-11-25 23:05:48',1),(97,'userName86','123456','2020-11-24 10:45:32','2020-11-24 10:45:32',1),(98,'userName87','123456','2020-11-24 10:45:32','2020-11-24 10:45:32',1),(99,'userName88','123456','2020-11-24 10:45:32','2020-11-24 10:45:32',1),(100,'userName89','123456','2020-11-24 10:45:32','2020-11-24 10:45:32',1),(101,'2020年好運(yùn)來~','123456','2020-11-24 10:45:32','2020-11-26 10:01:06',1),(102,'333','123456','2020-11-24 10:45:32','2020-11-26 10:28:14',1),(103,'666','888','2020-11-24 10:45:32','2020-11-26 10:28:26',1),(104,'userName93','123456','2020-11-24 10:45:32','2020-11-26 10:00:54',0),(105,'userName94','123456','2020-11-24 10:45:32','2020-11-26 10:00:47',0),(106,'userName95','123456','2020-11-24 10:45:32','2020-11-26 10:00:47',0),(107,'userName96','123456','2020-11-24 10:45:32','2020-11-26 10:00:47',0),(108,'userName97','123456','2020-11-24 10:45:32','2020-11-26 10:00:47',0),(109,'userName98','123456','2020-11-24 10:45:32','2020-11-25 10:12:58',0),(110,'userName99','123456','2020-11-24 10:45:32','2020-11-25 10:12:58',0),(111,'userName100','123456','2020-11-24 10:45:33','2020-11-25 10:12:58',0),(115,'蕭潛','1','2020-11-25 23:00:16','2020-11-25 23:00:16',1),(116,'演示視頻','haha','2020-11-26 10:00:33','2020-11-26 10:27:37',0),(117,'啦啦啦','1','2020-11-26 10:27:14','2020-11-26 10:27:37',0),(118,'演示視頻','222','2020-11-26 10:27:23','2020-11-26 10:27:37',0),(119,'實(shí)訓(xùn)小組hyy','111','2020-11-26 14:37:14','2020-11-26 14:37:14',1);/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;工程文件展示
??????
代碼
①package com.newcapec.dao;
BaseDao.java
package com.newcapec.dao;import java.sql.SQLException; import java.util.List;/*** JDBC在后期需要使用hibernate/mybatis優(yōu)化* * @author user** @param <T>*/ public interface BaseDao<T> {// public int insert(T t) throws ClassNotFoundException, SQLException;public boolean deleteById(int id) throws ClassNotFoundException, SQLException;public boolean batchDeleteById(int[] ids) throws ClassNotFoundException, SQLException;public boolean update(T t) throws ClassNotFoundException, SQLException;public T selectById(int id) throws ClassNotFoundException, SQLException;public List<T> selectAll() throws ClassNotFoundException, SQLException; }ItemUserDao.java
package com.newcapec.dao;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List;import com.newcapec.entity.ItemUserEntity; import com.newcapec.utils.DBUtils;public class ItemUserDao implements BaseDao<ItemUserEntity> {public boolean insert(ItemUserEntity t) throws ClassNotFoundException, SQLException {boolean flag = false;// 獲取與數(shù)據(jù)庫的連接Connection connection = DBUtils.openConn();// ?表示占位符 可以解決sql注入的問題String sql = "insert into item_user (user_id,item_id,create_time) values (?,?,now())";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, t.getUserId());statement.setInt(2, t.getItemId());// 執(zhí)行sql語句int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic boolean deleteById(int id) throws ClassNotFoundException, SQLException {boolean flag = false;Connection connection = DBUtils.openConn();String sql = "delete from item_user where item_user_id = ?";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, id);int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic boolean update(ItemUserEntity t) throws ClassNotFoundException, SQLException {boolean flag = false;// 獲取連接Connection connection = DBUtils.openConn();// sql語句String sql = "update item_user set user_id = ?,item_id = ? where item_user_id = ?";// 預(yù)處理對(duì)象PreparedStatement statement = connection.prepareStatement(sql);// 添加參數(shù)statement.setInt(1, t.getUserId());statement.setInt(2, t.getItemId());statement.setInt(3, t.getItemUserId());// 執(zhí)行預(yù)處理對(duì)象int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic ItemUserEntity selectById(int id) throws ClassNotFoundException, SQLException {ItemUserEntity ItemUserEntity = null;Connection connection = DBUtils.openConn();String sql = "select * from item_user where item_user_id = ?";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, id);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int itemUserId = resultSet.getInt("item_user_id");int userId = resultSet.getInt("user_id");int itemId = resultSet.getInt("item_id");Date createTime = resultSet.getTimestamp("create_time");Date updateTime = resultSet.getTimestamp("update_time");ItemUserEntity = new ItemUserEntity(itemUserId, userId, itemId, createTime, updateTime);}resultSet.close();statement.close();connection.close();return ItemUserEntity;}@Overridepublic List<ItemUserEntity> selectAll() throws ClassNotFoundException, SQLException {List<ItemUserEntity> list = new ArrayList<>();Connection connection = DBUtils.openConn();String sql = "select * from item_user and status = 1";PreparedStatement statement = connection.prepareStatement(sql);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int itemUserId = resultSet.getInt("item_user_id");int userId = resultSet.getInt("user_id");int itemId = resultSet.getInt("item_id");Date createTime = resultSet.getTimestamp("create_time");Date updateTime = resultSet.getTimestamp("update_time");ItemUserEntity itemUserEntity = new ItemUserEntity(itemUserId, userId, itemId, createTime, updateTime);list.add(itemUserEntity);}resultSet.close();statement.close();connection.close();return list;}@Overridepublic boolean batchDeleteById(int[] ids) throws ClassNotFoundException, SQLException {// TODO 自動(dòng)生成的方法存根return false;}}LogsInfoDao.java
package com.newcapec.dao;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List;import com.newcapec.entity.LogsInfoEntity; import com.newcapec.utils.DBUtils;public class LogsInfoDao implements BaseDao<LogsInfoEntity> {public boolean insert(LogsInfoEntity t) throws ClassNotFoundException, SQLException {boolean flag = false;Connection connection = DBUtils.openConn();String sql = "insert into logs_info (user_id,logs_content,create_time) values (?,?,now())";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, t.getUserId());statement.setString(2, t.getLogsContent());int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic boolean deleteById(int id) throws ClassNotFoundException, SQLException {boolean flag = false;Connection connection = DBUtils.openConn();String sql = "delete from logs_info where logs_id = ?";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, id);int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic boolean update(LogsInfoEntity t) throws ClassNotFoundException, SQLException {boolean flag = false;Connection connection = DBUtils.openConn();String sql = "update logs_info set user_id = ?, logs_content = ? where logs_id = ?";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, t.getUserId());statement.setString(2, t.getLogsContent());statement.setInt(3, t.getLogsId());int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic LogsInfoEntity selectById(int id) throws ClassNotFoundException, SQLException {LogsInfoEntity logsInfoEntity = null;Connection connection = DBUtils.openConn();String sql = "select * from logs_info where logs_id = ?";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, id);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int newsId = resultSet.getInt("logs_id");int itemId = resultSet.getInt("user_id");String logsContent = resultSet.getString("logs_content");Date createTime = resultSet.getDate("create_time");Date updateTime = resultSet.getDate("update_time");logsInfoEntity = new LogsInfoEntity(newsId, itemId, logsContent, createTime, updateTime);}resultSet.close();statement.close();connection.close();return logsInfoEntity;}@Overridepublic List<LogsInfoEntity> selectAll() throws ClassNotFoundException, SQLException {List<LogsInfoEntity> list = new ArrayList<LogsInfoEntity>();Connection connection = DBUtils.openConn();String sql = "select * from logs_info";PreparedStatement statement = connection.prepareStatement(sql);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int newsId = resultSet.getInt("logs_id");int itemId = resultSet.getInt("user_id");String logsContent = resultSet.getString("logs_content");Date createTime = resultSet.getDate("create_time");Date updateTime = resultSet.getDate("update_time");LogsInfoEntity logsInfoEntity = new LogsInfoEntity(newsId, itemId, logsContent, createTime, updateTime);list.add(logsInfoEntity);}resultSet.close();statement.close();connection.close();return list;}@Overridepublic boolean batchDeleteById(int[] ids) throws ClassNotFoundException, SQLException {// TODO 自動(dòng)生成的方法存根return false;}}NewItemDao.java
package com.newcapec.dao;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.Date; import java.util.List;import com.newcapec.entity.NewItemEntity; import com.newcapec.utils.DBUtils;public class NewItemDao implements BaseDao<NewItemEntity> {public int insert(NewItemEntity t) throws ClassNotFoundException, SQLException {Connection connection = DBUtils.openConn();String sql = "insert into new_item (item_name,create_time) values (?,now())";PreparedStatement statement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);statement.setString(1, t.getItemName());statement.executeUpdate();ResultSet resultSet = statement.getGeneratedKeys();resultSet.next();int id = resultSet.getInt(1);statement.close();connection.close();return id;}@Overridepublic boolean deleteById(int id) throws ClassNotFoundException, SQLException {boolean flag = false;// 獲取連接Connection connection = DBUtils.openConn();// sql語句String sql = "delete from new_item where item_id = ?";// 預(yù)處理對(duì)象PreparedStatement statement = connection.prepareStatement(sql);// 添加參數(shù)statement.setInt(1, id);// 執(zhí)行預(yù)處理對(duì)象int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic boolean update(NewItemEntity t) throws ClassNotFoundException, SQLException {boolean flag = false;// 獲取連接Connection connection = DBUtils.openConn();// sql語句String sql = "update new_item set item_name = ? where item_id = ?";// 預(yù)處理對(duì)象PreparedStatement statement = connection.prepareStatement(sql);// 添加參數(shù)statement.setString(1, t.getItemName());statement.setInt(2, t.getItemId());// 執(zhí)行預(yù)處理對(duì)象int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic NewItemEntity selectById(int id) throws ClassNotFoundException, SQLException {NewItemEntity newItemEntity = null;Connection connection = DBUtils.openConn();String sql = "select * from new_item where item_id = ?";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, id);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int itemId = resultSet.getInt("item_id");String itemName = resultSet.getString("item_name");Date createTime = resultSet.getTimestamp("create_time");Date updateTime = resultSet.getTimestamp("update_time");newItemEntity = new NewItemEntity(itemId, itemName, createTime, updateTime);}resultSet.close();statement.close();connection.close();return newItemEntity;}@Overridepublic List<NewItemEntity> selectAll() throws ClassNotFoundException, SQLException {List<NewItemEntity> list = new ArrayList<>();Connection connection = DBUtils.openConn();String sql = "select * from new_item ";PreparedStatement statement = connection.prepareStatement(sql);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int itemId = resultSet.getInt("item_id");String itemName = resultSet.getString("item_name");Date createTime = resultSet.getTimestamp("create_time");Date updateTime = resultSet.getTimestamp("update_time");NewItemEntity newItemEntity = new NewItemEntity(itemId, itemName, createTime, updateTime);list.add(newItemEntity);}resultSet.close();statement.close();connection.close();return list;}public List<NewItemEntity> selectAllByUserId(int userId) throws ClassNotFoundException, SQLException {List<NewItemEntity> list = new ArrayList<>();Connection connection = DBUtils.openConn();String sql = "SELECT new_item.`item_id`,new_item.`item_name`,new_item.`create_time`,new_item.`update_time` FROM new_item \r\n"+ " INNER JOIN item_user ON new_item.`item_id` = item_user.`item_id`\r\n"+ " INNER JOIN user_info ON user_info.`user_id` = item_user.`user_id`\r\n"+ " WHERE user_info.user_id = ? and new_item.status = 1";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, userId);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int itemId = resultSet.getInt("item_id");String itemName = resultSet.getString("item_name");Date createTime = resultSet.getTimestamp("create_time");Date updateTime = resultSet.getTimestamp("update_time");NewItemEntity newItemEntity = new NewItemEntity(itemId, itemName, createTime, updateTime);list.add(newItemEntity);}resultSet.close();statement.close();connection.close();return list;}public int selectAllByUserIdCount(int userId) throws ClassNotFoundException, SQLException {int count = 0;Connection connection = DBUtils.openConn();String sql = "SELECT count(*) as allCount FROM new_item \r\n"+ " INNER JOIN item_user ON new_item.`item_id` = item_user.`item_id`\r\n"+ " INNER JOIN user_info ON user_info.`user_id` = item_user.`user_id`\r\n where new_item.status = 1 AND user_info.`user_id` = ?";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, userId);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {count = resultSet.getInt("allCount");}resultSet.close();statement.close();connection.close();return count;}@Overridepublic boolean batchDeleteById(int[] ids) throws ClassNotFoundException, SQLException {boolean flag = false;// 獲取連接Connection connection = DBUtils.openConn();// sql語句// String sql = "delete from new_item where item_id = ?";String sql = "update new_item set status = 0 where item_id = ?";// 預(yù)處理對(duì)象PreparedStatement statement = connection.prepareStatement(sql);// 添加參數(shù)for (int id : ids) {statement.setInt(1, id);statement.addBatch();}int[] result = statement.executeBatch();// 執(zhí)行預(yù)處理對(duì)象// int count = statement.executeUpdate();if (result.length > 0) {flag = true;}statement.close();connection.close();return flag;}}NewsInfoDao.java
package com.newcapec.dao;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List;import com.newcapec.entity.NewsInfoEntity; import com.newcapec.utils.DBUtils;public class NewsInfoDao implements BaseDao<NewsInfoEntity> {public boolean insert(NewsInfoEntity t) throws ClassNotFoundException, SQLException {boolean flag = false;Connection connection = DBUtils.openConn();String sql = "insert into news_info (item_id,news_title,news_content,create_time) values (?,?,?,now())";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, t.getItemId());statement.setString(2, t.getNewsTitle());statement.setString(3, t.getNewsContent());int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic boolean deleteById(int id) throws ClassNotFoundException, SQLException {boolean flag = false;Connection connection = DBUtils.openConn();String sql = "delete from news_info where news_id = ?";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, id);int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic boolean update(NewsInfoEntity t) throws ClassNotFoundException, SQLException {boolean flag = false;Connection connection = DBUtils.openConn();String sql = "update news_info set item_id = ?, news_title = ?, news_image = ?, news_content=? where news_id = ?";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, t.getItemId());statement.setString(2, t.getNewsTitle());statement.setString(3, t.getNewsImage());statement.setString(4, t.getNewsContent());statement.setInt(5, t.getNewsId());int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic NewsInfoEntity selectById(int id) throws ClassNotFoundException, SQLException {NewsInfoEntity newsInfoEntity = null;Connection connection = DBUtils.openConn();String sql = "select * from news_info where news_id = ?";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, id);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int newsId = resultSet.getInt("news_id");int itemId = resultSet.getInt("item_id");String newsTitle = resultSet.getString("news_title");String newsContent = resultSet.getString("news_content");String newsImage = resultSet.getString("news_image");Date createTime = resultSet.getDate("create_time");Date updateTime = resultSet.getDate("update_time");newsInfoEntity = new NewsInfoEntity(newsId, itemId, newsTitle, newsImage, newsContent, createTime,updateTime);}resultSet.close();statement.close();connection.close();return newsInfoEntity;}@Overridepublic List<NewsInfoEntity> selectAll() throws ClassNotFoundException, SQLException {List<NewsInfoEntity> list = new ArrayList<NewsInfoEntity>();Connection connection = DBUtils.openConn();String sql = "select * from news_info";PreparedStatement statement = connection.prepareStatement(sql);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int newsId = resultSet.getInt("news_id");int itemId = resultSet.getInt("item_id");String newsTitle = resultSet.getString("news_title");String newsContent = resultSet.getString("news_content");String newsImage = resultSet.getString("news_image");Date createTime = resultSet.getDate("create_time");Date updateTime = resultSet.getDate("update_time");NewsInfoEntity newsInfoEntity = new NewsInfoEntity(newsId, itemId, newsTitle, newsImage, newsContent,createTime, updateTime);list.add(newsInfoEntity);}resultSet.close();statement.close();connection.close();return list;}@Overridepublic boolean batchDeleteById(int[] ids) throws ClassNotFoundException, SQLException {// TODO 自動(dòng)生成的方法存根return false;}}UserInfoDao.java
package com.newcapec.dao;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List;import com.newcapec.entity.UserInfoEntity; import com.newcapec.utils.DBUtils;public class UserInfoDao implements BaseDao<UserInfoEntity> {public UserInfoEntity login(String userName, String userPwd) throws ClassNotFoundException, SQLException {UserInfoEntity userInfoEntity = null;Connection connection = DBUtils.openConn();String sql = "select * from user_info where user_name = ? and user_pwd = ?";PreparedStatement statement = connection.prepareStatement(sql);statement.setString(1, userName);statement.setString(2, userPwd);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int userId = resultSet.getInt("user_id");Date createTime = resultSet.getTimestamp("create_time");Date updateTime = resultSet.getTimestamp("update_time");userInfoEntity = new UserInfoEntity(userId, userName, userPwd, createTime, updateTime);}resultSet.close();statement.close();connection.close();return userInfoEntity;}public boolean insert(UserInfoEntity t) throws ClassNotFoundException, SQLException {boolean flag = false;// 獲取與數(shù)據(jù)庫的連接Connection connection = DBUtils.openConn();// ?表示占位符 可以解決sql注入的問題String sql = "insert into user_info (user_name,user_pwd,create_time) values (?,?,now())";PreparedStatement statement = connection.prepareStatement(sql);statement.setString(1, t.getUserName());statement.setString(2, t.getUserPwd());// 執(zhí)行sql語句int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic boolean deleteById(int id) throws ClassNotFoundException, SQLException {boolean flag = false;// 獲取連接Connection connection = DBUtils.openConn();// sql語句// String sql = "delete from user_info where user_id = ?";String sql = "update user_info set status = 0 where user_id = ?";// 預(yù)處理對(duì)象PreparedStatement statement = connection.prepareStatement(sql);// 添加參數(shù)statement.setInt(1, id);// 執(zhí)行預(yù)處理對(duì)象int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic boolean update(UserInfoEntity t) throws ClassNotFoundException, SQLException {boolean flag = false;// 獲取連接Connection connection = DBUtils.openConn();// sql語句String sql = "update user_info set user_name = ?,user_pwd = ? where user_id = ?";// 預(yù)處理對(duì)象PreparedStatement statement = connection.prepareStatement(sql);// 添加參數(shù)statement.setString(1, t.getUserName());statement.setString(2, t.getUserPwd());statement.setInt(3, t.getUserId());// 執(zhí)行預(yù)處理對(duì)象int count = statement.executeUpdate();if (count > 0) {flag = true;}statement.close();connection.close();return flag;}@Overridepublic UserInfoEntity selectById(int id) throws ClassNotFoundException, SQLException {UserInfoEntity userInfoEntity = null;Connection connection = DBUtils.openConn();String sql = "select * from user_info where user_id = ? and status = 1";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, id);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int userId = resultSet.getInt("user_id");String userName = resultSet.getString("user_name");String userPwd = resultSet.getString("user_pwd");Date createTime = resultSet.getTimestamp("create_time");Date updateTime = resultSet.getTimestamp("update_time");userInfoEntity = new UserInfoEntity(userId, userName, userPwd, createTime, updateTime);}resultSet.close();statement.close();connection.close();return userInfoEntity;}@Overridepublic List<UserInfoEntity> selectAll() throws ClassNotFoundException, SQLException {List<UserInfoEntity> list = new ArrayList<>();Connection connection = DBUtils.openConn();String sql = "select * from user_info";PreparedStatement statement = connection.prepareStatement(sql);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int userId = resultSet.getInt("user_id");String userName = resultSet.getString("user_name");String userPwd = resultSet.getString("user_pwd");Date createTime = resultSet.getTimestamp("create_time");Date updateTime = resultSet.getTimestamp("update_time");UserInfoEntity userInfoEntity = new UserInfoEntity(userId, userName, userPwd, createTime, updateTime);list.add(userInfoEntity);}resultSet.close();statement.close();connection.close();return list;}public List<UserInfoEntity> selectByPage(int offset, int limit) throws ClassNotFoundException, SQLException {List<UserInfoEntity> list = new ArrayList<>();Connection connection = DBUtils.openConn();String sql = "select * from user_info where status = 1 limit ?,?";PreparedStatement statement = connection.prepareStatement(sql);statement.setInt(1, offset);statement.setInt(2, limit);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {int userId = resultSet.getInt("user_id");String userName = resultSet.getString("user_name");String userPwd = resultSet.getString("user_pwd");Date createTime = resultSet.getTimestamp("create_time");Date updateTime = resultSet.getTimestamp("update_time");UserInfoEntity userInfoEntity = new UserInfoEntity(userId, userName, userPwd, createTime, updateTime);list.add(userInfoEntity);}resultSet.close();statement.close();connection.close();return list;}public int selectCount() throws ClassNotFoundException, SQLException {int count = 0;Connection connection = DBUtils.openConn();String sql = "SELECT COUNT(*) AS userCount FROM user_info where status = 1";PreparedStatement statement = connection.prepareStatement(sql);ResultSet resultSet = statement.executeQuery();while (resultSet.next()) {count = resultSet.getInt("userCount");}resultSet.close();statement.close();connection.close();return count;}@Overridepublic boolean batchDeleteById(int[] ids) throws ClassNotFoundException, SQLException {boolean flag = false;// 獲取連接Connection connection = DBUtils.openConn();// sql語句// String sql = "delete from user_info where user_id = ?";String sql = "update user_info set status = 0 where user_id = ?";// 預(yù)處理對(duì)象PreparedStatement statement = connection.prepareStatement(sql);// 添加參數(shù)for (int id : ids) {statement.setInt(1, id);statement.addBatch();}int[] result = statement.executeBatch();// 執(zhí)行預(yù)處理對(duì)象// int count = statement.executeUpdate();if (result.length > 0) {flag = true;}statement.close();connection.close();return flag;}}②package com.newcapec.entity;
ItemUserEntity.java
package com.newcapec.entity;import java.util.Date;public class ItemUserEntity extends Object {private int itemUserId;private int userId;private int itemId;private Date createTime;private Date updateTime;public ItemUserEntity() {}public ItemUserEntity(int itemUserId, int userId, int itemId, Date createTime, Date updateTime) {super();this.itemUserId = itemUserId;this.userId = userId;this.itemId = itemId;this.createTime = createTime;this.updateTime = updateTime;}public int getItemUserId() {return itemUserId;}public void setItemUserId(int itemUserId) {this.itemUserId = itemUserId;}public int getUserId() {return userId;}public void setUserId(int userId) {this.userId = userId;}public int getItemId() {return itemId;}public void setItemId(int itemId) {this.itemId = itemId;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getUpdateTime() {return updateTime;}public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}@Overridepublic String toString() {return "ItemUserEntity [itemUserId=" + itemUserId + ", userId=" + userId + ", itemId=" + itemId+ ", createTime=" + createTime + ", updateTime=" + updateTime + "]";}}LogsInfoEntity.java
package com.newcapec.entity;import java.util.Date;public class LogsInfoEntity extends Object {private int logsId;private int userId;private String logsContent;private Date createTime;private Date updateTime;public LogsInfoEntity() {}public LogsInfoEntity(int logsId, int userId, String logsContent, Date createTime, Date updateTime) {super();this.logsId = logsId;this.userId = userId;this.logsContent = logsContent;this.createTime = createTime;this.updateTime = updateTime;}public int getLogsId() {return logsId;}public void setLogsId(int logsId) {this.logsId = logsId;}public int getUserId() {return userId;}public void setUserId(int userId) {this.userId = userId;}public String getLogsContent() {return logsContent;}public void setLogsContent(String logsContent) {this.logsContent = logsContent;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getUpdateTime() {return updateTime;}public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}@Overridepublic String toString() {return "LogsInfoEntity [logsId=" + logsId + ", userId=" + userId + ", logsContent=" + logsContent+ ", createTime=" + createTime + ", updateTime=" + updateTime + "]";}}NewItemEntity.java
package com.newcapec.entity;import java.util.Date;import com.alibaba.fastjson.annotation.JSONField;public class NewItemEntity extends Object {private int itemId;private String itemName;@JSONField(format = "yyyy-MM-dd HH:mm:ss")private Date createTime;@JSONField(format = "yyyy-MM-dd HH:mm:ss")private Date updateTime;public NewItemEntity() {}public NewItemEntity(int itemId, String itemName) {super();this.itemId = itemId;this.itemName = itemName;}public NewItemEntity(int itemId, String itemName, Date createTime, Date updateTime) {super();this.itemId = itemId;this.itemName = itemName;this.createTime = createTime;this.updateTime = updateTime;}public int getItemId() {return itemId;}public void setItemId(int itemId) {this.itemId = itemId;}public String getItemName() {return itemName;}public void setItemName(String itemName) {this.itemName = itemName;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getUpdateTime() {return updateTime;}public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}@Overridepublic String toString() {return "NewItemEntity [itemId=" + itemId + ", itemName=" + itemName + ", createTime=" + createTime+ ", updateTime=" + updateTime + "]";}}NewsInfoEntity.java
package com.newcapec.entity;import java.util.Date;public class NewsInfoEntity extends Object {private int newsId;private int itemId;private String newsTitle;private String newsImage;private String newsContent;private Date createTime;private Date updateTime;public NewsInfoEntity() {}public NewsInfoEntity(int newsId, int itemId, String newsTitle, String newsImage, String newsContent,Date createTime, Date updateTime) {super();this.newsId = newsId;this.itemId = itemId;this.newsTitle = newsTitle;this.newsImage = newsImage;this.newsContent = newsContent;this.createTime = createTime;this.updateTime = updateTime;}public int getNewsId() {return newsId;}public void setNewsId(int newsId) {this.newsId = newsId;}public int getItemId() {return itemId;}public void setItemId(int itemId) {this.itemId = itemId;}public String getNewsTitle() {return newsTitle;}public void setNewsTitle(String newsTitle) {this.newsTitle = newsTitle;}public String getNewsImage() {return newsImage;}public void setNewsImage(String newsImage) {this.newsImage = newsImage;}public String getNewsContent() {return newsContent;}public void setNewsContent(String newsContent) {this.newsContent = newsContent;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getUpdateTime() {return updateTime;}public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}@Overridepublic String toString() {return "NewsInfoEntity [newsId=" + newsId + ", itemId=" + itemId + ", newsTitle=" + newsTitle + ", newsImage="+ newsImage + ", newsContent=" + newsContent + ", createTime=" + createTime + ", updateTime="+ updateTime + "]";}}ResultData.java
package com.newcapec.entity;public class ResultData<T> {private int total;private T rows;private String code;public ResultData() {super();}public ResultData(int total, T rows, String code) {super();this.total = total;this.rows = rows;this.code = code;}public int getTotal() {return total;}public void setTotal(int total) {this.total = total;}public T getRows() {return rows;}public void setRows(T rows) {this.rows = rows;}public String getCode() {return code;}public void setCode(String code) {this.code = code;}@Overridepublic String toString() {return "ResultData [total=" + total + ", rows=" + rows + ", code=" + code + "]";}}UserInfoEntity.java
package com.newcapec.entity;import java.util.Date;import com.alibaba.fastjson.annotation.JSONField;public class UserInfoEntity {private int userId;private String userName;private String userPwd;@JSONField(format = "yyyy-MM-dd HH:mm:ss")private Date createTime;@JSONField(format = "yyyy-MM-dd HH:mm:ss")private Date updateTime;public UserInfoEntity() {}public UserInfoEntity(int userId, String userName, String userPwd) {super();this.userId = userId;this.userName = userName;this.userPwd = userPwd;}public UserInfoEntity(int userId, String userName, String userPwd, Date createTime, Date updateTime) {super();this.userId = userId;this.userName = userName;this.userPwd = userPwd;this.createTime = createTime;this.updateTime = updateTime;}public int getUserId() {return userId;}public void setUserId(int userId) {this.userId = userId;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getUserPwd() {return userPwd;}public void setUserPwd(String userPwd) {this.userPwd = userPwd;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getUpdateTime() {return updateTime;}public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}@Overridepublic String toString() {return "UserInfoEntity [userId=" + userId + ", userName=" + userName + ", userPwd=" + userPwd + ", createTime="+ createTime + ", updateTime=" + updateTime + "]";}}③package com.newcapec.servlet;
AddUserServlet.java
package com.newcapec.servlet;import java.io.IOException; import java.sql.SQLException; import java.util.HashMap;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSON; import com.newcapec.dao.UserInfoDao; import com.newcapec.entity.UserInfoEntity;/*** Servlet implementation class AddUserServlet*/ @WebServlet(name = "/AddUserServlet", urlPatterns = "/AddUserServlet") public class AddUserServlet extends HttpServlet {private static final long serialVersionUID = 1L;private UserInfoDao userInfoDao = new UserInfoDao();/*** @see HttpServlet#HttpServlet()*/public AddUserServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubresponse.getWriter().append("Served at: ").append(request.getContextPath());}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/json;charset=utf-8");String userName = request.getParameter("userName");String userPwd = request.getParameter("userPwd");UserInfoEntity userInfoEntity = new UserInfoEntity();userInfoEntity.setUserName(userName);userInfoEntity.setUserPwd(userPwd);try {boolean flag = userInfoDao.insert(userInfoEntity);HashMap<String, Boolean> result = new HashMap<>();result.put("flag", flag);response.getWriter().write(JSON.toJSONString(result));} catch (ClassNotFoundException | SQLException e) {// TODO 自動(dòng)生成的 catch 塊e.printStackTrace();}}}DeleteUserServlet.java
package com.newcapec.servlet;import java.io.IOException; import java.sql.SQLException; import java.util.Arrays; import java.util.HashMap;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSON; import com.newcapec.dao.UserInfoDao;/*** Servlet implementation class DeleteUserServlet*/ @WebServlet(name = "/DeleteUserServlet", urlPatterns = "/DeleteUserServlet") public class DeleteUserServlet extends HttpServlet {private static final long serialVersionUID = 1L;private UserInfoDao userInfoDao = new UserInfoDao();/*** @see HttpServlet#HttpServlet()*/public DeleteUserServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubresponse.getWriter().append("Served at: ").append(request.getContextPath());}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 此處可以使用過濾器批量處理request.setCharacterEncoding("utf-8");response.setContentType("text/json;charset=utf-8");String[] userIds = request.getParameterValues("userIds[]");// 使用userInfoDao執(zhí)行批量刪除int[] ids = new int[userIds.length];for (int i = 0; i < userIds.length; i++) {ids[i] = Integer.valueOf(userIds[i]);}try {boolean flag = userInfoDao.batchDeleteById(ids);HashMap<String, Boolean> result = new HashMap<>();result.put("flag", flag);response.getWriter().write(JSON.toJSONString(result));} catch (ClassNotFoundException | SQLException e) {// TODO 自動(dòng)生成的 catch 塊e.printStackTrace();}}}LoginServlet.java
package com.newcapec.servlet;import java.io.IOException; import java.sql.SQLException;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.newcapec.dao.UserInfoDao; import com.newcapec.entity.UserInfoEntity;/*** Servlet implementation class LoginServlet*/ @WebServlet(name = "/LoginServlet", urlPatterns = "/LoginServlet") public class LoginServlet extends HttpServlet {private UserInfoDao userInfoDao = new UserInfoDao();private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public LoginServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubresponse.getWriter().append("Served at: ").append(request.getContextPath());}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/// 注意:在正規(guī)開發(fā)中 登錄密碼需要加密// 需要有驗(yàn)證碼protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8");String userName = request.getParameter("userName");String userPwd = request.getParameter("userPwd");try {UserInfoEntity userInfoEntity = userInfoDao.login(userName, userPwd);if (userInfoEntity != null) {// 登錄成功request.getSession().setAttribute("userInfo", userInfoEntity);response.sendRedirect("index.html");} else {// 登錄失敗 重定向response.sendRedirect("loginFailure.html");}} catch (ClassNotFoundException | SQLException e) {// TODO 自動(dòng)生成的 catch 塊e.printStackTrace();}}}SelectUserByIdServlet.java
package com.newcapec.servlet;import java.io.IOException; import java.sql.SQLException;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSON; import com.newcapec.dao.UserInfoDao; import com.newcapec.entity.UserInfoEntity;/*** Servlet implementation class SelectUserByIdServlet*/ @WebServlet(name = "/SelectUserByIdServlet", urlPatterns = "/SelectUserByIdServlet") public class SelectUserByIdServlet extends HttpServlet {private static final long serialVersionUID = 1L;private UserInfoDao userInfoDao = new UserInfoDao();/*** @see HttpServlet#HttpServlet()*/public SelectUserByIdServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 此處可以使用過濾器批量處理request.setCharacterEncoding("utf-8");response.setContentType("text/json;charset=utf-8");int userId = Integer.parseInt(request.getParameter("userId"));try {UserInfoEntity userInfoEntity = userInfoDao.selectById(userId);response.getWriter().write(JSON.toJSONString(userInfoEntity));} catch (ClassNotFoundException | SQLException e) {// TODO 自動(dòng)生成的 catch 塊e.printStackTrace();}}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}SelectUserByPageServlet.java
package com.newcapec.servlet;import java.io.IOException; import java.sql.SQLException; import java.util.HashMap; import java.util.List;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSON; import com.newcapec.dao.UserInfoDao; import com.newcapec.entity.ResultData; import com.newcapec.entity.UserInfoEntity;/*** Servlet implementation class SelectAllServlet*/ @WebServlet(name = "/SelectAllServlet", urlPatterns = "/SelectAllServlet") public class SelectUserByPageServlet extends HttpServlet {private static final long serialVersionUID = 1L;private UserInfoDao userInfoDao = new UserInfoDao();/*** @see HttpServlet#HttpServlet()*/public SelectUserByPageServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setCharacterEncoding("utf-8");response.setContentType("text/json;charset=utf-8");// 當(dāng)前頁碼// 頁大小int offset = Integer.parseInt(request.getParameter("offset"));int limit = Integer.parseInt(request.getParameter("limit"));// bootstrap-table插件需要后臺(tái)傳回total/rowsResultData<List<UserInfoEntity>> data = new ResultData<>();try {data.setRows(userInfoDao.selectByPage(offset, limit));data.setTotal(userInfoDao.selectCount());response.getWriter().write(JSON.toJSONString(data));} catch (ClassNotFoundException | SQLException e1) {// TODO 自動(dòng)生成的 catch 塊e1.printStackTrace();}}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}UpdateUserServlet.java
package com.newcapec.servlet;import java.io.IOException; import java.sql.SQLException; import java.util.HashMap;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSON; import com.newcapec.dao.UserInfoDao; import com.newcapec.entity.UserInfoEntity;/*** Servlet implementation class UpdateUserServlet*/ @WebServlet(name = "/UpdateUserServlet", urlPatterns = "/UpdateUserServlet") public class UpdateUserServlet extends HttpServlet {private static final long serialVersionUID = 1L;private UserInfoDao userInfoDao = new UserInfoDao();/*** @see HttpServlet#HttpServlet()*/public UpdateUserServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubresponse.getWriter().append("Served at: ").append(request.getContextPath());}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 此處可以使用過濾器批量處理request.setCharacterEncoding("utf-8");response.setContentType("text/json;charset=utf-8");int userId = Integer.parseInt(request.getParameter("userId"));String userName = request.getParameter("userName");String userPwd = request.getParameter("userPwd");UserInfoEntity entity = new UserInfoEntity(userId, userName, userPwd);try {boolean flag = userInfoDao.update(entity);HashMap<String, Boolean> result = new HashMap<>();result.put("flag", flag);response.getWriter().write(JSON.toJSONString(result));} catch (ClassNotFoundException | SQLException e) {// TODO 自動(dòng)生成的 catch 塊e.printStackTrace();}}}④???????package com.newcapec.servlet.newitem;
AddItemServlet.java
package com.newcapec.servlet.newitem;import java.io.IOException; import java.sql.SQLException; import java.util.HashMap;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSON; import com.newcapec.dao.ItemUserDao; import com.newcapec.dao.NewItemDao; import com.newcapec.entity.ItemUserEntity; import com.newcapec.entity.NewItemEntity; import com.newcapec.entity.UserInfoEntity;/*** Servlet implementation class AddUserServlet*/ @WebServlet(name = "/AddItemServlet", urlPatterns = "/AddItemServlet") public class AddItemServlet extends HttpServlet {private static final long serialVersionUID = 1L;private NewItemDao newItemDao = new NewItemDao();private ItemUserDao itemUserDao = new ItemUserDao();/*** @see HttpServlet#HttpServlet()*/public AddItemServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubresponse.getWriter().append("Served at: ").append(request.getContextPath());}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/json;charset=utf-8");String ItemName = request.getParameter("itemName");NewItemEntity newItemEntity = new NewItemEntity();newItemEntity.setItemName(ItemName);ItemUserEntity itemUserEntity = new ItemUserEntity();// itemUserEntity.setItemId(itemId);try {int itemId = newItemDao.insert(newItemEntity);itemUserEntity.setItemId(itemId);UserInfoEntity userInfoEntity = (UserInfoEntity) request.getSession().getAttribute("userInfo");itemUserEntity.setUserId(userInfoEntity.getUserId());boolean flag = itemUserDao.insert(itemUserEntity);HashMap<String, Boolean> result = new HashMap<>();result.put("flag", flag);response.getWriter().write(JSON.toJSONString(result));} catch (ClassNotFoundException | SQLException e) {// TODO 自動(dòng)生成的 catch 塊e.printStackTrace();}}}DeleteItemServlet.java
package com.newcapec.servlet.newitem;import java.io.IOException; import java.sql.SQLException; import java.util.HashMap;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSON; import com.newcapec.dao.NewItemDao;/*** Servlet implementation class DeleteItemServlet*/ @WebServlet(name = "/DeleteItemServlet", urlPatterns = "/DeleteItemServlet") public class DeleteItemServlet extends HttpServlet {private static final long serialVersionUID = 1L;private NewItemDao newItemDao = new NewItemDao();/*** @see HttpServlet#HttpServlet()*/public DeleteItemServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubresponse.getWriter().append("Served at: ").append(request.getContextPath());}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 此處可以使用過濾器批量處理request.setCharacterEncoding("utf-8");response.setContentType("text/json;charset=utf-8");String[] itemIds = request.getParameterValues("itemIds[]");// 使用newItemDao執(zhí)行批量刪除int[] ids = new int[itemIds.length];for (int i = 0; i < itemIds.length; i++) {ids[i] = Integer.valueOf(itemIds[i]);}try {boolean flag = newItemDao.batchDeleteById(ids);HashMap<String, Boolean> result = new HashMap<>();result.put("flag", flag);response.getWriter().write(JSON.toJSONString(result));} catch (ClassNotFoundException | SQLException e) {// TODO 自動(dòng)生成的 catch 塊e.printStackTrace();}}}SelectItemByIdServlet.java
package com.newcapec.servlet.newitem;import java.io.IOException; import java.sql.SQLException;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSON; import com.newcapec.dao.NewItemDao; import com.newcapec.entity.NewItemEntity;/*** Servlet implementation class SelectUserByIdServlet*/ @WebServlet(name = "/SelectItemByIdServlet", urlPatterns = "/SelectItemByIdServlet") public class SelectItemByIdServlet extends HttpServlet {private static final long serialVersionUID = 1L;private NewItemDao newItemDao = new NewItemDao();/*** @see HttpServlet#HttpServlet()*/public SelectItemByIdServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 此處可以使用過濾器批量處理request.setCharacterEncoding("utf-8");response.setContentType("text/json;charset=utf-8");int itemId = Integer.parseInt(request.getParameter("itemId"));try {NewItemEntity newItemEntity = newItemDao.selectById(itemId);response.getWriter().write(JSON.toJSONString(newItemEntity));} catch (ClassNotFoundException | SQLException e) {// TODO 自動(dòng)生成的 catch 塊e.printStackTrace();}}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}SelectItembyUserServlet.java
package com.newcapec.servlet.newitem;import java.io.IOException; import java.sql.SQLException; import java.util.HashMap; import java.util.List;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSON; import com.newcapec.dao.NewItemDao; import com.newcapec.entity.NewItemEntity; import com.newcapec.entity.UserInfoEntity;/*** Servlet implementation class SelectItembyUserServlet*/ @WebServlet(name = "/SelectItembyUserServlet", urlPatterns = "/SelectItembyUserServlet") public class SelectItembyUserServlet extends HttpServlet { // 獲取item數(shù)據(jù)表中的數(shù)據(jù)private static final long serialVersionUID = 1L;private NewItemDao newItemDao = new NewItemDao();/*** @see HttpServlet#HttpServlet()*/public SelectItembyUserServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/json;charset=utf-8");// 通過userId獲取UserInfoEntity userInfoEntity = (UserInfoEntity) request.getSession().getAttribute("userInfo");try {List<NewItemEntity> rows = newItemDao.selectAllByUserId(userInfoEntity.getUserId());int total = newItemDao.selectAllByUserIdCount(userInfoEntity.getUserId());HashMap<String, Object> result = new HashMap<>();result.put("rows", rows);result.put("total", total);response.getWriter().write(JSON.toJSONString(result));} catch (ClassNotFoundException | SQLException e) {// TODO 自動(dòng)生成的 catch 塊e.printStackTrace();}}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}UpdateItemServlet.java
package com.newcapec.servlet.newitem;import java.io.IOException; import java.sql.SQLException; import java.util.HashMap;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSON; import com.newcapec.dao.NewItemDao; import com.newcapec.entity.NewItemEntity;/*** Servlet implementation class UpdateUserServlet*/ @WebServlet(name = "/UpdateItemServlet", urlPatterns = "/UpdateItemServlet")public class UpdateItemServlet extends HttpServlet {private static final long serialVersionUID = 1L;private NewItemDao newItemDao = new NewItemDao();/*** @see HttpServlet#HttpServlet()*/public UpdateItemServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubresponse.getWriter().append("Served at: ").append(request.getContextPath());}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 此處可以使用過濾器批量處理request.setCharacterEncoding("utf-8");response.setContentType("text/json;charset=utf-8");int itemId = Integer.parseInt(request.getParameter("itemId"));String itemName = request.getParameter("itemName");NewItemEntity entity = new NewItemEntity(itemId, itemName);try {boolean flag = newItemDao.update(entity);HashMap<String, Boolean> result = new HashMap<>();result.put("flag", flag);response.getWriter().write(JSON.toJSONString(result));} catch (ClassNotFoundException | SQLException e) {// TODO 自動(dòng)生成的 catch 塊e.printStackTrace();}}}⑤package com.newcapec.servlet.news;
AddNewsServlet.java
package com.newcapec.servlet.news;import java.io.IOException; import java.sql.SQLException; import java.util.HashMap;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.alibaba.fastjson.JSON; import com.newcapec.dao.NewsInfoDao; import com.newcapec.entity.NewsInfoEntity;/*** Servlet implementation class AddNewsServlet*/ @WebServlet(name = "/AddNewsServlet", urlPatterns = "/AddNewsServlet") public class AddNewsServlet extends HttpServlet {private static final long serialVersionUID = 1L;private NewsInfoDao newsInfoDao = new NewsInfoDao();/*** @see HttpServlet#HttpServlet()*/public AddNewsServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubresponse.getWriter().append("Served at: ").append(request.getContextPath());}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stub// doGet(request, response);request.setCharacterEncoding("utf-8");response.setContentType("text/json;charset=utf-8");String addNewsTitle = request.getParameter("addNewsTitle");String addNewsItem = request.getParameter("addNewsItem"); // 欄目idString addNewsContent = request.getParameter("addNewsContent");NewsInfoEntity newsInfoEntity = new NewsInfoEntity();newsInfoEntity.setNewsTitle(addNewsTitle);newsInfoEntity.setItemId(Integer.parseInt(addNewsItem));newsInfoEntity.setNewsContent(addNewsContent);try {boolean flag = newsInfoDao.insert(newsInfoEntity);HashMap<String, Boolean> result = new HashMap<>();result.put("flag", flag);response.getWriter().write(JSON.toJSONString(result));} catch (ClassNotFoundException | SQLException e) {// TODO 自動(dòng)生成的 catch 塊e.printStackTrace();}}}⑥package com.newcapec.test;
TestItemUserDao.java
package com.newcapec.test;import java.sql.SQLException; import java.util.List;import org.junit.Assert; import org.junit.Test;import com.newcapec.dao.ItemUserDao; import com.newcapec.entity.ItemUserEntity;public class TestItemUserDao {private ItemUserDao ItemUserDao = new ItemUserDao();@Testpublic void testInsert() throws ClassNotFoundException, SQLException {ItemUserEntity itemUserEntity = new ItemUserEntity();itemUserEntity.setUserId(1);itemUserEntity.setItemId(1);Assert.assertTrue(ItemUserDao.insert(itemUserEntity));}@Testpublic void testDeleteById() throws ClassNotFoundException, SQLException {Assert.assertTrue(ItemUserDao.deleteById(1));}@Testpublic void testUpdate() throws ClassNotFoundException, SQLException {ItemUserEntity entity = ItemUserDao.selectById(2);entity.setItemId(2);Assert.assertTrue(ItemUserDao.update(entity));}@Testpublic void testSelectAll() throws ClassNotFoundException, SQLException {System.out.println(ItemUserDao.selectAll());}}TestLogsInfoDao.java
package com.newcapec.test;import java.sql.SQLException; import java.util.List;import org.junit.Assert; import org.junit.Test;import com.newcapec.dao.LogsInfoDao; import com.newcapec.entity.LogsInfoEntity;public class TestLogsInfoDao {private LogsInfoDao logsInfoDao = new LogsInfoDao();@Testpublic void testInsert() throws ClassNotFoundException, SQLException {LogsInfoEntity logsInfoEntity = new LogsInfoEntity();logsInfoEntity.setUserId(1);logsInfoEntity.setLogsContent("woshishenren");// userInfoDao.insert(userInfoEntity);Assert.assertTrue(logsInfoDao.insert(logsInfoEntity));}@Testpublic void testSelect() throws ClassNotFoundException, SQLException {List<LogsInfoEntity> list = logsInfoDao.selectAll();System.out.println(list);}@Testpublic void testDeleteById() throws ClassNotFoundException, SQLException {Assert.assertTrue(logsInfoDao.deleteById(2));}@Testpublic void testUpdate() throws ClassNotFoundException, SQLException {LogsInfoEntity logsInfoEntity = logsInfoDao.selectById(2);logsInfoEntity.setUserId(1);logsInfoDao.update(logsInfoEntity);}@Testpublic void testselectById() throws ClassNotFoundException, SQLException {System.out.println(logsInfoDao.selectById(1));}}TestNewItemDao.java
package com.newcapec.test;import java.sql.SQLException; import java.util.List;import org.junit.Assert; import org.junit.Test;import com.newcapec.dao.NewItemDao; import com.newcapec.entity.NewItemEntity;public class TestNewItemDao {private NewItemDao newItemDao = new NewItemDao();@Testpublic void testInsert() throws ClassNotFoundException, SQLException {NewItemEntity newItemEntity = new NewItemEntity();newItemEntity.setItemId(1);newItemEntity.setItemName("插入測(cè)試");// Assert.assertTrue(newItemDao.insert(newItemEntity));}@Testpublic void testDeleteById() throws ClassNotFoundException, SQLException {Assert.assertTrue(newItemDao.deleteById(14));}@Testpublic void testUpdate() throws ClassNotFoundException, SQLException {NewItemEntity entity = newItemDao.selectById(1);entity.setItemName("更新item測(cè)試");Assert.assertTrue(newItemDao.update(entity));}@Testpublic void testSelectAll() throws ClassNotFoundException, SQLException {System.out.println(newItemDao.selectAll());}}NewsInfoDao.java
package com.newcapec.test;import java.sql.SQLException;import org.junit.Assert; import org.junit.Test;import com.newcapec.dao.NewsInfoDao; import com.newcapec.entity.NewsInfoEntity;public class TestNewsInfoDao {private NewsInfoDao newsInfoDao = new NewsInfoDao();@Testpublic void testInsert() throws ClassNotFoundException, SQLException {NewsInfoEntity newsInfoEntity = new NewsInfoEntity();newsInfoEntity.setItemId(1);newsInfoEntity.setNewsTitle("新能源召回大戶特斯拉的“美式”傲慢|觀潮");newsInfoEntity.setNewsImage("http://pics1.baidu.com/feed/71cf3bc79f3df8dcecfa18268a75ee8c46102829.jpeg?token=32875797d2ded1ed2a9334df610bccf7");newsInfoEntity.setNewsContent("新浪科技 花子健\r\n" + "從“硬件升級(jí)”到“召回”,理想汽車只用了5天。\r\n"+ "而不久前的威馬汽車召回事件,前后耗時(shí)23天,威馬汽車將之定義為“史上最快召回”。如果僅僅是簡(jiǎn)單對(duì)比,理想汽車無疑刷新了歷史記錄。\r\n"+ "對(duì)于新造車勢(shì)力來說,受限于工藝和新技術(shù),召回是大概率事件。目前除了小鵬未有實(shí)際的召回經(jīng)歷之外,蔚來汽車、威馬汽車以及理想汽車,包括外來者特斯拉,都遇到過召回。只不過,中國(guó)新造車勢(shì)力和特斯拉表現(xiàn)出來的態(tài)度截然不同。\r\n"+ "“惶恐”的造車新勢(shì)力\r\n" + "11月1日,理想汽車在媒體溝通會(huì)上宣布了針對(duì)前懸架下擺臂球銷和底盤的“免費(fèi)升級(jí)”,其中前懸架下擺臂球銷受力太低與理想ONE多次出現(xiàn)斷軸事件有關(guān)系。\r\n"+ "但理想汽車的措辭遭到質(zhì)疑。一方面是理想汽車CEO李想公開承認(rèn)“升級(jí)肯定是因?yàn)楫a(chǎn)品有缺陷,我們是在行駛當(dāng)中發(fā)生碰撞斷掉的幾率高于平均值。”而另外一方面,則是在一開始否認(rèn)“召回”,以“免費(fèi)升級(jí)”代替。\r\n"+ "理想汽車銷售服務(wù)副總裁劉杰強(qiáng)調(diào),升級(jí)和那種由于車輛本身在行駛過程中出現(xiàn)故障和質(zhì)量問題的召回,是不一樣的。11月6日,理想汽車最終宣布召回10469輛理想ONE,占已交付車輛的將近50%。\r\n"+ "官方披露的信息顯示,截至2020年10月31日,理想ONE累計(jì)發(fā)生了97起前懸架碰撞事故,其中前懸架下擺臂球頭從球銷脫出的情況超過10起,造成了理想汽車在碰撞之后斷軸的嚴(yán)重事故。");Assert.assertTrue(newsInfoDao.insert(newsInfoEntity));}@Testpublic void testDeleteById() throws ClassNotFoundException, SQLException {Assert.assertTrue(newsInfoDao.deleteById(1));}@Testpublic void testUpdate() throws ClassNotFoundException, SQLException {NewsInfoEntity entity = newsInfoDao.selectById(2);entity.setNewsTitle("圖書館維修,暫停開放一天");Assert.assertTrue(newsInfoDao.update(entity));}@Testpublic void testSelectAll() throws ClassNotFoundException, SQLException {System.out.println(newsInfoDao.selectAll());}}TestUserInfoDao.java
package com.newcapec.test;import java.sql.SQLException; import java.util.List;import org.junit.Assert; import org.junit.Test;import com.newcapec.dao.UserInfoDao; import com.newcapec.entity.UserInfoEntity;public class TestUserInfoDao {private UserInfoDao userInfoDao = new UserInfoDao();@Testpublic void testInsert() throws ClassNotFoundException, SQLException {/** UserInfoEntity userInfoEntity = new UserInfoEntity();* userInfoEntity.setUserName("田七"); userInfoEntity.setUserPwd("123456");* //userInfoDao.insert(userInfoEntity);* Assert.assertTrue(userInfoDao.insert(userInfoEntity));*/for (int i = 1; i <= 100; i++) {UserInfoEntity userInfoEntity = new UserInfoEntity();userInfoEntity.setUserName("userName" + i);userInfoEntity.setUserPwd("123456");// userInfoDao.insert(userInfoEntity);Assert.assertTrue(userInfoDao.insert(userInfoEntity));}}@Testpublic void testSelect() throws ClassNotFoundException, SQLException {List<UserInfoEntity> list = userInfoDao.selectAll();System.out.println(list);}@Testpublic void testDeleteById() throws ClassNotFoundException, SQLException {Assert.assertTrue(userInfoDao.deleteById(7));}@Testpublic void testUpdate() throws ClassNotFoundException, SQLException {UserInfoEntity userInfoEntity = userInfoDao.selectById(1);userInfoEntity.setUserName("zhangsan");userInfoDao.update(userInfoEntity);}@Testpublic void testselectById() throws ClassNotFoundException, SQLException {System.out.println(userInfoDao.selectById(1));}}⑦package com.newcapec.utils;
DBUtils.java
package com.newcapec.utils;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;import com.mysql.jdbc.Driver;/*** 獲取與數(shù)據(jù)庫的連接 此處后期需要使用阿里巴巴的druid數(shù)據(jù)庫連接池優(yōu)化* * @author user**/ public class DBUtils {public static Connection openConn() throws ClassNotFoundException, SQLException {// 連接數(shù)據(jù)庫四要素// url username password driverString user = "root";String password = "root";// String driver = "com.mysql.jdbc.Driver";// String url = "jdbc:mysql://127.0.0.1:3306/zykkk?characterEncoding=UTF-8";String driver = "com.mysql.cj.jdbc.Driver";String url = "jdbc:mysql://localhost:3306/zykkk?characterEncoding=utf-8&serverTimezone=UTC";// (UTC表示標(biāo)準(zhǔn)時(shí)區(qū))// 注冊(cè)數(shù)據(jù)庫驅(qū)動(dòng)Class.forName(driver);return DriverManager.getConnection(url, user, password);}}MD5Utils.java
package com.newcapec.utils;import java.security.MessageDigest;public class MD5Utils {/**** MD5加碼 生成32位md5碼*/public static String stringMD5(String inStr) {MessageDigest md5 = null;try {md5 = MessageDigest.getInstance("MD5");} catch (Exception e) {System.out.println(e.toString());e.printStackTrace();return "";}char[] charArray = inStr.toCharArray();byte[] byteArray = new byte[charArray.length];for (int i = 0; i < charArray.length; i++)byteArray[i] = (byte) charArray[i];byte[] md5Bytes = md5.digest(byteArray);StringBuffer hexValue = new StringBuffer();for (int i = 0; i < md5Bytes.length; i++) {int val = ((int) md5Bytes[i]) & 0xff;if (val < 16)hexValue.append("0");hexValue.append(Integer.toHexString(val));}return hexValue.toString();}/*** 加密解密算法 執(zhí)行一次加密,兩次解密*/public static String convertMD5(String inStr) {char[] a = inStr.toCharArray();for (int i = 0; i < a.length; i++) {a[i] = (char) (a[i] ^ 't');}String s = new String(a);return s;}// 測(cè)試主函數(shù)public static void main(String args[]) {String s = new String("1233");System.out.println("原始:" + s);System.out.println("MD5后:" + stringMD5(s));System.out.println("加密的:" + convertMD5(s));System.out.println("解密的:" + convertMD5(convertMD5(s)));}}pages
item_manager.html
<!DOCTYPE html> <html><head><meta charset="utf-8"><!-- 新 Bootstrap4 核心 CSS 文件 --><link rel="stylesheet" href="../bootstrap4/css/bootstrap.min.css"><link rel="stylesheet" type="text/css" href="../font-awesome-4.7.0/css/font-awesome.min.css" /><link href="../bootstrap-table/bootstrap-table.min.css" rel="stylesheet" /><!-- jQuery文件。務(wù)必在bootstrap.min.js 之前引入 --><script src="../jquery/jquery.min.js"></script><!-- bootstrap.bundle.min.js 用于彈窗、提示、下拉菜單,包含了 popper.min.js --><script src="../js/popper.min.js"></script><!-- 最新的 Bootstrap4 核心 JavaScript 文件 --><script src="../bootstrap4/js/bootstrap.min.js"></script><script src="../bootstrap-table/bootstrap-table.js"></script><script src="../bootstrap-table/locale/bootstrap-table-zh-CN.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>欄目管理</title><script type="text/javascript">function batchDelete() {var rows = $('#newItemTab').bootstrapTable('getSelections');console.log(rows);var itemIds = new Array();for (var i = 0; i < rows.length; i++) {itemIds.push(rows[i].itemId);}console.log(itemIds);$.ajax({type: "POST",url: "../DeleteItemServlet",data: { "itemIds": itemIds },success: function (msg) {if (msg.flag) {alert("batchDelete()成功");//刷新數(shù)據(jù)$('#newItemTab').bootstrapTable("refresh");} else {alert("失敗");}}});}function addNewItem() {var itemName = $("#addItemName").val();var itemdata = {"itemName": itemName};$.ajax({type: "POST",url: "../AddItemServlet",data: itemdata,success: function (msg) {if (msg.flag) {alert("addNewItem()成功");//刷新數(shù)據(jù)$('#newItemTab').bootstrapTable("refresh");} else {alert("失敗");}$("#addItemName").val("");}});}function edit(itemId) { // 編輯用戶信息console.log(itemId);//通過該ID獲取數(shù)據(jù)//通過ajax發(fā)起請(qǐng)求獲取用戶信息$.ajax({type: "get",url: "../SelectItemByIdServlet",data: { "itemId": itemId },success: function (msg) {console.log(msg);//獲取成功后填入?yún)?shù)展示模態(tài)框$("input[name='itemId']").val(msg.itemId);$("input[name='itemName']").val(msg.itemName);$("#updateNewItem").modal('show');}});//執(zhí)行更新}function updateNewItem() { // 刷新頁面信息var newItem = {"itemId": $("input[name='itemId']").val(),"itemName": $("input[name='itemName']").val()};$.ajax({type: "post",url: "../UpdateItemServlet",data: newItem,success: function (msg) {if (msg.flag) {alert("updateNewItem()成功");//刷新數(shù)據(jù)$('#newItemTab').bootstrapTable("refresh");} else {alert("失敗");}$("input[name='itemId']").val("");$("input[name='itemName']").val("");}});}</script> </head><body><div style="padding: 10px"><div id="toolbar" style="display: flex;"><button type="button" class="btn btn-info" data-toggle="modal" data-target="#addNewItem"><iclass="fa fa-plus"></i> 添加</button><button type="button" class="btn btn-danger" onclick="batchDelete()"><i class="fa fa-minus"></i>批量刪除</button><!-- <input type="text" placeholder="請(qǐng)輸入欄目名" id="itemName" value="新聞處"/><button class="btn btn-info" onclick='search()'><i class="fa fa-search"></i></button> --></div><table id="newItemTab" class="table table-hover table-bordered table-striped"></table><div class="modal fade" id="updateNewItem"><div class="modal-dialog"><div class="modal-content"><!-- 模態(tài)框頭部 --><div class="modal-header bg-info"><h4 class="modal-title">更新欄目信息</h4><button type="button" class="close" data-dismiss="modal">×</button></div><!-- 模態(tài)框主體 --><div class="modal-body"><form><input type="hidden" name="itemId" /><div class="input-group mb-3"><div class="input-group-prepend"><span class="input-group-text"><i class="fa fa-user"></i></span></div><input type="text" name="itemName" class="form-control" placeholder="Itemname"></div></form></div><!-- 模態(tài)框底部 --><div class="modal-footer"><button type="button" class="btn btn-success" data-dismiss="modal"onclick=updateNewItem()>更新</button><button type="button" class="btn btn-secondary" data-dismiss="modal">關(guān)閉</button></div></div></div></div><!-- 模態(tài)框 --><div class="modal fade" id="addNewItem"><div class="modal-dialog"><div class="modal-content"><!-- 模態(tài)框頭部 --><div class="modal-header bg-info"><h4 class="modal-title">添加欄目信息</h4><button type="button" class="close" data-dismiss="modal">×</button></div><!-- 模態(tài)框主體 --><div class="modal-body"><form><div class="input-group mb-3"><div class="input-group-prepend"><span class="input-group-text"><i class="fa fa-user"></i></span></div><input type="text" id="addItemName" class="form-control" placeholder="Itemname"></div></form></div><!-- 模態(tài)框底部 --><div class="modal-footer"><button type="button" class="btn btn-success" data-dismiss="modal"onclick=addNewItem()>添加!</button><button type="button" class="btn btn-secondary" data-dismiss="modal">關(guān)閉</button></div></div></div></div></div><script>var icons = {paginationSwitchDown: 'fa-caret-square-down',paginationSwitchUp: 'fa-caret-square-up',refresh: 'fa-refresh',toggleOff: 'fa-toggle-off',toggleOn: 'fa-toggle-on',columns: 'fa-th-list',fullscreen: 'fa-arrows-alt',detailOpen: 'fa-plus',detailClose: 'fa-minus'};//異步加載表格數(shù)據(jù)$('#newItemTab').bootstrapTable({url: '../SelectItembyUserServlet', //請(qǐng)求后臺(tái)的URL(*)method: 'get', //請(qǐng)求方式(*)toolbar: '#toolbar', //工具按鈕用哪個(gè)容器striped: true, //是否顯示行間隔色cache: false, //是否使用緩存,默認(rèn)為true,所以一般情況下需要設(shè)置一下這個(gè)屬性(*)pagination: true, //是否顯示分頁(*)icons: icons, //重新定義圖標(biāo) 修復(fù)圖標(biāo)加載失敗問題queryParams: function (params) {var temp = { //這里的鍵的名字和控制器的變量名必須一直,這邊改動(dòng),控制器也需要改成一樣的limit: params.limit, //頁面大小offset: params.offset //頁碼//itemName: $("#itemName").val()//statu: $("#txt_search_statu").val()};return temp;},sidePagination: "server", //分頁方式:client客戶端分頁,server服務(wù)端分頁(*)pageNumber: 1, //初始化加載第一頁,默認(rèn)第一頁pageSize: 10, //每頁的記錄行數(shù)(*)pageList: [10, 15, 20, 25], //可供選擇的每頁的行數(shù)(*)//search: true, //是否顯示表格搜索,此搜索是客戶端搜索,不會(huì)進(jìn)服務(wù)端,所以,個(gè)人感覺意義不大strictSearch: true,showRefresh: true, //是否顯示刷新按鈕clickToSelect: true, //是否啟用點(diǎn)擊選中行uniqueId: "itemId", //每一行的唯一標(biāo)識(shí),一般為主鍵列//showToggle:true, //是否顯示詳細(xì)視圖和列表視圖的切換按鈕//cardView: false, //是否顯示詳細(xì)視圖columns: [{checkbox: true}, {field: 'itemId',title: '欄目Id'}, {field: 'itemName',title: '欄目名稱'}, {field: 'createTime',title: '創(chuàng)建時(shí)間'}, {field: 'updateTime',title: '更新時(shí)間'}, {field: 'itemId',title: '編輯',formatter: function (value, row, index) {var e = '<a class="btn btn-waring" href="#" mce_href="#" title="編輯" onclick="edit(\''+ row.itemId+ '\')"><i class="fa fa-edit"></i>編輯</a> ';return e;}}]});</script> </body></html>news_manager.html
<!DOCTYPE html> <html><head><meta charset="utf-8"><title>新聞管理</title><!-- 新 Bootstrap4 核心 CSS 文件 --><link rel="stylesheet" href="../bootstrap4/css/bootstrap.min.css"><link rel="stylesheet" type="text/css" href="../font-awesome-4.7.0/css/font-awesome.min.css" /><link href="../bootstrap-table/bootstrap-table.min.css" rel="stylesheet" /><!-- jQuery文件。務(wù)必在bootstrap.min.js 之前引入 --><script src="../jquery/jquery.min.js"></script><!-- bootstrap.bundle.min.js 用于彈窗、提示、下拉菜單,包含了 popper.min.js --><script src="../js/popper.min.js"></script><!-- 最新的 Bootstrap4 核心 JavaScript 文件 --><script src="../bootstrap4/js/bootstrap.min.js"></script><script src="../bootstrap-table/bootstrap-table.js"></script><script src="../bootstrap-table/locale/bootstrap-table-zh-CN.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><style type="text/css">body {display: flex;flex-direction: column;min-height: 100vh;}#header {display: flex;align-items: center;justify-content: space-between;font-size: 20px;margin: 15px;}#header>a {color: #007FB0;}#bodychild1>a {color: #007FB0;}#header>#header1 {display: flex;flex-direction: row;}#header1>#header2 {display: flex;flex-direction: row;}#body {display: flex;flex-direction: column;border: 1px solid darkgrey;margin: 15px;}#body1 {height: 50px;display: flex;flex-grow: 1;align-items: center;padding: 20px;background-color: #cecece;border-bottom: 1px solid darkgrey;}#body2 {height: 500px;display: flex;flex-direction: column;margin: 20px;}#body3 {height: 50px;display: flex;flex-direction: row;margin: 10px;}#body4 {height: 40px;width: 80px;display: flex;justify-content: center;align-items: center;border: 1px solid darkgrey;}</style><script type="text/javascript">$(function () {$.ajax({url: "../SelectItembyUserServlet",method: "get",success: function (data) {for (var i = 0; i < data.rows.length; i++) {//var $option = $("<option value="+data.rows[i].itetmId+">"+data.rows[i].itemName+"</option");$("#addNewsItem").append("<option value=" + data.rows[i].itemId + ">" + data.rows[i].itemName + "</option");}}});});function addNewItem() {var addNewsTitle = $("#addNewsTitle").val();var addNewsItem = $("#addNewsItem").val();var addNewsContent = $("#addNewsContent").val();console.log(addNewsTitle);console.log(addNewsItem);console.log(addNewsContent);var newsdata = {"addNewsTitle": addNewsTitle,"addNewsItem": addNewsItem,"addNewsContent": addNewsContent};console.log(newsdata);//return;$.ajax({type: "POST",url: "../AddNewsServlet",data: newsdata,success: function (msg) {if (msg.flag) {alert("成功插入新聞,蕪湖~");//刷新數(shù)據(jù) $('#newItemTab').bootstrapTable("refresh");} else {alert("插入新聞失敗~");}//$("#addItemName").val("");}});}</script> </head><body><div id="header"><a>新聞管理</a><div id="header1"><div class="dropdown"><button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown"style="background-color: white; color: #cbcbcb;">教務(wù)處</button><div class="dropdown-menu"><a class="dropdown-item" href="#">學(xué)生會(huì)</a><a class="dropdown-item" href="#">黨支部</a><a class="dropdown-item" href="#">分團(tuán)委</a></div><!-- <select><option value="volvo">Volvo</option><option value="saab">Saab</option><option value="opel">Opel</option><option value="audi">Audi</option></select> --></div><div id="header2"><input type="text" class="form-control" placeholder="用戶名"><span class="input-group-text"><a href="#"><i class="fa-circle-thin"></i></a></span></div></div></div><!-- header yes --><div id="body"><div id="body1"><a>發(fā)布新聞</a></div><div id="body2"><div id="body3"><div id="body4"><a>標(biāo)題</a> </div><div><input id="addNewsTitle" type="text" placeholder="新聞標(biāo)題" style="height: 40px;width: 300px;"></div></div><div id="body3"><div id="body4"><a>欄目</a> </div><!-- <div class="dropdown" style="width: 300px"><button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" style="background-color: white; color: #b8b8b8;width: 150px;height: 40px">教務(wù)處</button><div class="dropdown-menu"><a class="dropdown-item" href="#">學(xué)生會(huì)</a><a class="dropdown-item" href="#">黨支部</a><a class="dropdown-item" href="#">分團(tuán)委</a><a class="dropdown-item" href="#">院團(tuán)委</a></div></div> --><select id="addNewsItem" class="form-control" style="height: 40px;width: 300px;"></select></div><div style="margin: 10px;"><textarea id="addNewsContent" rows="10" cols="100" placeholder="新聞內(nèi)容"></textarea></div><div style="margin: 10px;"><button type="button" class="btn btn-primary" style="width: 80px;"onClick="addNewItem()">發(fā)布</button></div></div> </body></html>user_manager.html
<!DOCTYPE html> <html><head><meta charset="utf-8"><!-- 新 Bootstrap4 核心 CSS 文件 --><link rel="stylesheet" href="../bootstrap4/css/bootstrap.min.css"><link rel="stylesheet" type="text/css" href="../font-awesome-4.7.0/css/font-awesome.min.css" /><link href="../bootstrap-table/bootstrap-table.min.css" rel="stylesheet" /><!-- jQuery文件。務(wù)必在bootstrap.min.js 之前引入 --><script src="../jquery/jquery.min.js"></script><!-- bootstrap.bundle.min.js 用于彈窗、提示、下拉菜單,包含了 popper.min.js --><script src="../js/popper.min.js"></script><!-- 最新的 Bootstrap4 核心 JavaScript 文件 --><script src="../bootstrap4/js/bootstrap.min.js"></script><script src="../bootstrap-table/bootstrap-table.js"></script><script src="../bootstrap-table/locale/bootstrap-table-zh-CN.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>用戶管理</title><script type="text/javascript">function batchDelete() {var rows = $('#userInfoTab').bootstrapTable('getSelections');console.log(rows);var userIds = new Array();for (var i = 0; i < rows.length; i++) {userIds.push(rows[i].userId);}console.log(userIds);$.ajax({type: "POST",url: "../DeleteUserServlet",data: { "userIds": userIds },success: function (msg) {if (msg.flag) {alert("成功");//刷新數(shù)據(jù)$('#userInfoTab').bootstrapTable("refresh");} else {alert("失敗");}}});}function addUserInfo() {var userName = $("#addUserName").val();var userPwd = $("#addUserPwd").val();var userdata = {"userName": userName,"userPwd": userPwd};$.ajax({type: "POST",url: "../AddUserServlet",data: userdata,success: function (msg) {if (msg.flag) {alert("成功");//刷新數(shù)據(jù)$('#userInfoTab').bootstrapTable("refresh");} else {alert("失敗");}$("#addUserName").val("");$("#addUserPwd").val("");}});}function edit(userId) {console.log(userId);//通過該ID獲取數(shù)據(jù)//通過ajax發(fā)起請(qǐng)求獲取用戶信息$.ajax({type: "get",url: "../SelectUserByIdServlet",data: { "userId": userId },success: function (msg) {console.log(msg);//獲取成功后填入?yún)?shù)展示模態(tài)框$("input[name='userId']").val(msg.userId);$("input[name='userName']").val(msg.userName);$("input[name='userPwd']").val(msg.userPwd);$("#updateUserInfo").modal('show');}});//執(zhí)行更新}function updateUserInfo() {var userInfo = {"userId": $("input[name='userId']").val(),"userName": $("input[name='userName']").val(),"userPwd": $("input[name='userPwd']").val()};$.ajax({type: "post",url: "../UpdateUserServlet",data: userInfo,success: function (msg) {if (msg.flag) {alert("成功");//刷新數(shù)據(jù)$('#userInfoTab').bootstrapTable("refresh");} else {alert("失敗");}$("input[name='userId']").val("");$("input[name='userName']").val("");$("input[name='userPwd']").val("");}});}</script> </head><body><div style="padding: 10px"><div id="toolbar" style="display: flex;"><button type="button" class="btn btn-info" data-toggle="modal" data-target="#addUserInfo"><iclass="fa fa-plus"></i> 添加</button><button type="button" class="btn btn-danger" onclick="batchDelete()"><i class="fa fa-minus"></i>批量刪除</button><!-- <input type="text" placeholder="請(qǐng)輸入用戶名" id="userName" value="zhangsan"/><button class="btn btn-info" onclick='search()'><i class="fa fa-search"></i></button> --></div><table id="userInfoTab" class="table table-hover table-bordered table-striped"></table><div class="modal fade" id="updateUserInfo"><div class="modal-dialog"><div class="modal-content"><!-- 模態(tài)框頭部 --><div class="modal-header bg-info"><h4 class="modal-title">更新用戶信息</h4><button type="button" class="close" data-dismiss="modal">×</button></div><!-- 模態(tài)框主體 --><div class="modal-body"><form><input type="hidden" name="userId" /><div class="input-group mb-3"><div class="input-group-prepend"><span class="input-group-text"><i class="fa fa-user"></i></span></div><input type="text" name="userName" class="form-control" placeholder="Username"></div><div class="input-group mb-3"><div class="input-group-prepend"><span class="input-group-text"><i class="fa fa-lock"></i></span></div><input type="password" name="userPwd" class="form-control" placeholder="userpwd"></div></form></div><!-- 模態(tài)框底部 --><div class="modal-footer"><button type="button" class="btn btn-success" data-dismiss="modal"onclick=updateUserInfo()>更新</button><button type="button" class="btn btn-secondary" data-dismiss="modal">關(guān)閉</button></div></div></div></div><!-- 模態(tài)框 --><div class="modal fade" id="addUserInfo"><div class="modal-dialog"><div class="modal-content"><!-- 模態(tài)框頭部 --><div class="modal-header bg-info"><h4 class="modal-title">添加用戶信息</h4><button type="button" class="close" data-dismiss="modal">×</button></div><!-- 模態(tài)框主體 --><div class="modal-body"><form><div class="input-group mb-3"><div class="input-group-prepend"><span class="input-group-text"><i class="fa fa-user"></i></span></div><input type="text" id="addUserName" class="form-control" placeholder="Username"></div><div class="input-group mb-3"><div class="input-group-prepend"><span class="input-group-text"><i class="fa fa-lock"></i></span></div><input type="password" id="addUserPwd" class="form-control" placeholder="userpwd"></div></form></div><!-- 模態(tài)框底部 --><div class="modal-footer"><button type="button" class="btn btn-success" data-dismiss="modal"onclick=addUserInfo()>添加</button><button type="button" class="btn btn-secondary" data-dismiss="modal">關(guān)閉</button></div></div></div></div></div><script>var icons = {paginationSwitchDown: 'fa-caret-square-down',paginationSwitchUp: 'fa-caret-square-up',refresh: 'fa-refresh',toggleOff: 'fa-toggle-off',toggleOn: 'fa-toggle-on',columns: 'fa-th-list',fullscreen: 'fa-arrows-alt',detailOpen: 'fa-plus',detailClose: 'fa-minus'};//異步加載表格數(shù)據(jù)$('#userInfoTab').bootstrapTable({url: '../SelectAllServlet', //請(qǐng)求后臺(tái)的URL(*)method: 'get', //請(qǐng)求方式(*)toolbar: '#toolbar', //工具按鈕用哪個(gè)容器striped: true, //是否顯示行間隔色cache: false, //是否使用緩存,默認(rèn)為true,所以一般情況下需要設(shè)置一下這個(gè)屬性(*)pagination: true, //是否顯示分頁(*)icons: icons, //重新定義圖標(biāo) 修復(fù)圖標(biāo)加載失敗問題queryParams: function (params) {var temp = { //這里的鍵的名字和控制器的變量名必須一直,這邊改動(dòng),控制器也需要改成一樣的limit: params.limit, //頁面大小offset: params.offset //頁碼//userName: $("#userName").val()//statu: $("#txt_search_statu").val()};return temp;},sidePagination: "server", //分頁方式:client客戶端分頁,server服務(wù)端分頁(*)pageNumber: 1, //初始化加載第一頁,默認(rèn)第一頁pageSize: 10, //每頁的記錄行數(shù)(*)pageList: [10, 15, 20, 25], //可供選擇的每頁的行數(shù)(*)//search: true, //是否顯示表格搜索,此搜索是客戶端搜索,不會(huì)進(jìn)服務(wù)端,所以,個(gè)人感覺意義不大strictSearch: true,showRefresh: true, //是否顯示刷新按鈕clickToSelect: true, //是否啟用點(diǎn)擊選中行uniqueId: "userId", //每一行的唯一標(biāo)識(shí),一般為主鍵列//showToggle:true, //是否顯示詳細(xì)視圖和列表視圖的切換按鈕//cardView: false, //是否顯示詳細(xì)視圖columns: [{checkbox: true}, {field: 'userId',title: '用戶Id'}, {field: 'userName',title: '用戶名'}, {field: 'createTime',title: '創(chuàng)建時(shí)間'}, {field: 'updateTime',title: '更新時(shí)間'}, {field: 'userId',title: '編輯',formatter: function (value, row, index) {var e = '<a class="btn btn-waring" href="#" mce_href="#" title="編輯" onclick="edit(\''+ row.userId+ '\')"><i class="fa fa-edit"></i>編輯</a> ';return e;}}]});</script> </body></html>index.html
<!DOCTYPE html> <html><head><meta charset="utf-8"><title></title><!-- 新 Bootstrap4 核心 CSS 文件 --><link rel="stylesheet" href="bootstrap4/css/bootstrap.min.css"><link rel="stylesheet" type="text/css" href="font-awesome-4.7.0/css/font-awesome.min.css" /><!-- jQuery文件。務(wù)必在bootstrap.min.js 之前引入 --><script src="jquery/jquery.min.js"></script><!-- bootstrap.bundle.min.js 用于彈窗、提示、下拉菜單,包含了 popper.min.js --><script src="js/popper.min.js"></script><!-- 最新的 Bootstrap4 核心 JavaScript 文件 --><script src="bootstrap4/js/bootstrap.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>主頁</title><style type="text/css">body {display: flex;flex-direction: column;min-height: 100vh;}header {height: 80px;background-color: #007FB0;display: flex;align-items: center;padding-left: 40px;}#main {flex-grow: 1;display: flex;}#left {background-color: #EEEEEE;/* border: 1px #004085 solid; */}#left {width: 200px;flex-shrink: 0;display: flex;flex-direction: column;}#left>p {height: 40px;padding: 0px;margin: 0px;display: flex;justify-content: center;align-items: center;background-color: #F5F5F5;border-bottom: 1px solid darkgrey;}#left>a {height: 50px;background-color: #EEEEEE;border-bottom: 1px darkgrey solid;border-right: 1px darkgrey solid;display: flex;justify-content: center;align-items: center;text-decoration: none;color: #007FB0;}#left>a:hover {background-color: white;}#left>a:nth-child(2) {background-image: url(img/icon_01.png);background-repeat: no-repeat;background-position: 40px 18px;}#left>a:nth-child(3) {background-image: url(img/icon_02.png);background-repeat: no-repeat;background-position: 40px 18px;}#left>a:nth-child(4) {background-image: url(img/icon_03.png);background-repeat: no-repeat;background-position: 40px 18px;}#content {flex-grow: 1;}</style> </head><body><header><img src="img/tit.png" /></header><div id="main"><div id="left"><p>當(dāng)前用戶:管理員“l(fā)wx”</p><a href="pages/user_manager.html" target="myFrame">賬戶管理</a><a href="pages/item_manager.html" target="myFrame">欄目管理</a><a href="pages/news_manager.html" target="myFrame">新聞管理</a></div><iframe id="content" frameborder="0" name="myFrame" src="pages/user_manager.html"></iframe></div> </body></html>login.html
<!DOCTYPE html> <html><head><meta charset="utf-8"><title></title><!-- 新 Bootstrap4 核心 CSS 文件 --><link rel="stylesheet" href="bootstrap4/css/bootstrap.min.css"><link rel="stylesheet" type="text/css" href="font-awesome-4.7.0/css/font-awesome.min.css" /><!-- jQuery文件。務(wù)必在bootstrap.min.js 之前引入 --><script src="jquery/jquery.min.js"></script><!-- bootstrap.bundle.min.js 用于彈窗、提示、下拉菜單,包含了 popper.min.js --><script src="js/popper.min.js"></script><!-- 最新的 Bootstrap4 核心 JavaScript 文件 --><script src="bootstrap4/js/bootstrap.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><style type="text/css">header,footer {height: 100px;/* background-color: #005CBF; */}body {display: flex;flex-direction: column;min-height: 100vh;}#main {flex-grow: 1;background-image: url(img/banner.jpg);background-repeat: no-repeat;background-size: cover;display: flex;align-items: center;justify-content: flex-end;}#login {height: 400px;width: 400px;background-color: white;margin-right: 100px;border-radius: 10px;}</style><title>login</title> </head><body><header></header><div id="main"><div id="login"><form style="padding: 20px;" action="LoginServlet" method="post"><div class="input-group mb-3"><div class="input-group-prepend"><span class="input-group-text"><i class="fa fa-user"></i></span></div><input type="text" name="userName" class="form-control" placeholder="請(qǐng)輸入用戶名"></div><div class="input-group mb-3"><div class="input-group-prepend"><span class="input-group-text"><i class="fa fa-lock"></i></span></div><input type="text" name="userPwd" class="form-control" placeholder="Username"></div><button type="submit" class="btn btn-info form-control">登錄</button></form></div></div><footer></footer> </body></html>loginFailure.html
<!DOCTYPE html> <html><head><meta charset="UTF-8"><title>Insert title here</title> </head><body>登錄失敗,請(qǐng)重新<a href="login.html">登錄</a> </body></html>phone.html
<!DOCTYPE html> <html><head><meta charset="utf-8"><title></title><!-- 新 Bootstrap4 核心 CSS 文件 --><link rel="stylesheet" href="bootstrap4/css/bootstrap.min.css"><link rel="stylesheet" type="text/css" href="font-awesome-4.7.0/css/font-awesome.min.css" /><!-- jQuery文件。務(wù)必在bootstrap.min.js 之前引入 --><script src="jquery/jquery.min.js"></script><!-- bootstrap.bundle.min.js 用于彈窗、提示、下拉菜單,包含了 popper.min.js --><script src="js/popper.min.js"></script><!-- 最新的 Bootstrap4 核心 JavaScript 文件 --><script src="bootstrap4/js/bootstrap.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>主頁</title><style type="text/css">body {margin: 0px;}header {height: 54px;background-color: #F8F8F8;display: flex;justify-content: space-between;padding: 0px 10px;align-items: center; /*垂直居中*/}#back, #close-page {color: #FFC74F;}nav {height: 45px;border-bottom: 1px solid #FFC74F;display: flex;}nav>a {text-decoration: none;flex-grow: 1; /*flex-grow屬性定義項(xiàng)目的放大比例,默認(rèn)為0,即如果存在剩余空間,也不放大。*/border-right: 1px #FFC74F solid;background-color: antiquewhite;display: flex;justify-content: center;align-items: center;color: brown;}.col-7 {display: flex;flex-direction: column;justify-content: space-between;}.row {margin-bottom: 5px;background-color: rgb(250, 235, 215, 0.5);}</style></head><body><header><span id="back"><i class="fa fa-chevron-left"></i> 返回</span><span>校內(nèi)新聞</span><span id="close-page"><a href="login.html">登錄</a></span></header><nav><a href="#">教務(wù)處</a><a href="#">委員會(huì)</a><a href="#">管理會(huì)</a></nav><div class="container-fluid"><div class="row"><div class="col-5"><img src="img/1.jpg" class="img-fluid" /></div><div class="col-7"><h5>我是一條莫得感情的信息。</h5><span>2020-11-19 09:15</span></div></div><div class="row"><div class="col-5"><img src="img/2.jpg" class="img-fluid" /></div><div class="col-7"><h5>新聞手機(jī)登錄端展示。</h5><span>2020-11-19 09:15</span></div></div><div class="row"><div class="col-5"><img src="img/3.jpg" class="img-fluid" /></div><div class="col-7"><h5>沖呀~</h5><span>2020-11-19 09:15</span></div></div><div class="row"><div class="col-5"><img src="img/dragon.gif" class="img-fluid" /></div><div class="col-7"><h5>奧里給~</h5><span>2020-11-19 09:15</span></div></div><div class="row"><div class="col-5"><img src="img/1.jpg" class="img-fluid" /></div><div class="col-7"><h5>我是一條莫得感情的信息。</h5><span>2020-11-19 09:15</span></div></div><div class="row"><div class="col-5"><img src="img/2.jpg" class="img-fluid" /></div><div class="col-7"><h5>新聞手機(jī)登錄端展示。</h5><span>2020-11-19 09:15</span></div></div><div class="row"><div class="col-5"><img src="img/3.jpg" class="img-fluid" /></div><div class="col-7"><h5>沖呀~</h5><span>2020-11-19 09:15</span></div></div><div class="row"><div class="col-5"><img src="img/dragon.gif" class="img-fluid" /></div><div class="col-7"><h5>奧里給~</h5><span>2020-11-19 09:15</span></div></div><div class="row"><div class="col-5"><img src="img/dog.jpg" class="img-fluid" /></div><div class="col-7"><h5>加油~</h5><span>2020-11-19 09:15</span></div></div></div></body> </html>2021年1月30日 下午 附上代碼。
總結(jié)
以上是生活随笔為你收集整理的Bootstrap4+MySQL前后端综合实训-Day10-AM【实训汇报-下午返校、项目代码(7个包+7个Html页面)】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机组成原理 第四章【指令系统】课后作
- 下一篇: 分支界限算法【0-1背包问题】按照优先队