由于一些特别的原因 需要判定当前时间是否在某个特定的范围
以下是一个根据数据库里面规定的日期选择是否打折,以及打几折的一个DEMO
1 /* 2 Navicat Premium Data Transfer 3 4 Source Server : localhost_3306 5 Source Server Type : MySQL 6 Source Server Version : 80017 7 Source Host : localhost:3306 8 Source Schema : shop 9 10 Target Server Type : MySQL 11 Target Server Version : 80017 12 File Encoding : 65001 13 14 Date: 30/08/2019 11:48:48 15 */ 16 17 SET NAMES utf8mb4; 18 SET FOREIGN_KEY_CHECKS = 0; 19 20 -- ---------------------------- 21 -- Table structure for activity 22 -- ---------------------------- 23 DROP TABLE IF EXISTS `activity`; 24 CREATE TABLE `activity` ( 25 `activityId` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '活动编号', 26 `activityName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '活动名称', 27 `begin` datetime(0) NOT NULL COMMENT '开始时间', 28 `finish` datetime(0) NOT NULL COMMENT '结束时间', 29 `discount` decimal(5, 2) UNSIGNED NOT NULL COMMENT '折扣', 30 PRIMARY KEY (`activityId`) USING BTREE 31 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; 32 33 -- ---------------------------- 34 -- Records of activity 35 -- ---------------------------- 36 INSERT INTO `activity` VALUES (1, '双十一', '2019-11-11 00:00:00', '2019-11-11 23:23:59', 0.95); 37 INSERT INTO `activity` VALUES (2, '618', '2019-06-18 00:00:00', '2019-06-18 23:59:59', 0.95); 38 INSERT INTO `activity` VALUES (3, '今天', '2019-08-30 00:00:00', '2019-08-30 23:59:59', 0.80); 39 40 -- ---------------------------- 41 -- Table structure for cart 42 -- ---------------------------- 43 DROP TABLE IF EXISTS `cart`; 44 CREATE TABLE `cart` ( 45 `userId` int(11) NOT NULL DEFAULT 0 COMMENT '用户id', 46 `c_id` int(11) NOT NULL COMMENT '商品id', 47 `camount` int(15) NOT NULL COMMENT '商品数量' 48 ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; 49 50 -- ---------------------------- 51 -- Records of cart 52 -- ---------------------------- 53 INSERT INTO `cart` VALUES (1, 3, 0); 54 INSERT INTO `cart` VALUES (2, 2, 0); 55 INSERT INTO `cart` VALUES (1, 2, 0); 56 INSERT INTO `cart` VALUES (1, 3, 0); 57 INSERT INTO `cart` VALUES (1, 7, 0); 58 INSERT INTO `cart` VALUES (1, 1, 0); 59 INSERT INTO `cart` VALUES (1, 3, 0); 60 INSERT INTO `cart` VALUES (1, 16, 0); 61 62 -- ---------------------------- 63 -- Table structure for classify 64 -- ---------------------------- 65 DROP TABLE IF EXISTS `classify`; 66 CREATE TABLE `classify` ( 67 `classify_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品类型id', 68 `classify_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '商品类型名称', 69 PRIMARY KEY (`classify_id`) USING BTREE 70 ) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; 71 72 -- ---------------------------- 73 -- Records of classify 74 -- ---------------------------- 75 INSERT INTO `classify` VALUES (1, '手机'); 76 INSERT INTO `classify` VALUES (2, '电脑'); 77 INSERT INTO `classify` VALUES (3, '键盘'); 78 INSERT INTO `classify` VALUES (4, '鼠标'); 79 INSERT INTO `classify` VALUES (5, '平板'); 80 INSERT INTO `classify` VALUES (6, '耳机'); 81 INSERT INTO `classify` VALUES (7, '无线充电器'); 82 INSERT INTO `classify` VALUES (8, '皮带'); 83 INSERT INTO `classify` VALUES (9, '刮胡刀'); 84 INSERT INTO `classify` VALUES (10, '音响'); 85 INSERT INTO `classify` VALUES (11, '打火机'); 86 INSERT INTO `classify` VALUES (12, '手表'); 87 INSERT INTO `classify` VALUES (13, '手环'); 88 INSERT INTO `classify` VALUES (14, '硬盘'); 89 INSERT INTO `classify` VALUES (15, 'U盘'); 90 INSERT INTO `classify` VALUES (16, '路由器'); 91 92 -- ---------------------------- 93 -- Table structure for commodity 94 -- ---------------------------- 95 DROP TABLE IF EXISTS `commodity`; 96 CREATE TABLE `commodity` ( 97 `c_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品id', 98 `classify_id` int(11) NOT NULL COMMENT '商品类型', 99 `c_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '商品名', 100 `price` double(50, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '价格', 101 `sales` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '销量', 102 `inventory` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '库存', 103 PRIMARY KEY (`c_id`) USING BTREE 104 ) ENGINE = InnoDB AUTO_INCREMENT = 106 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; 105 106 -- ---------------------------- 107 -- Records of commodity 108 -- ---------------------------- 109 INSERT INTO `commodity` VALUES (1, 0, '小米5S', 2999.00, 51, 99); 110 INSERT INTO `commodity` VALUES (2, 0, 'dgfd ', 34.00, 50, 100); 111 INSERT INTO `commodity` VALUES (3, 0, 'fdgh', 456.70, 50, 100); 112 INSERT INTO `commodity` VALUES (6, 1, '苹果 xr', 5888.00, 16666, 5822); 113 INSERT INTO `commodity` VALUES (7, 1, '苹果 8Plus', 4988.00, 15661, 1789); 114 INSERT INTO `commodity` VALUES (8, 1, '华为 P30pro', 4988.00, 8099, 2796); 115 INSERT INTO `commodity` VALUES (9, 1, '华为 mate20', 4499.00, 7933, 1988); 116 INSERT INTO `commodity` VALUES (10, 1, 'VIVO/步步高 iqoo5g', 3198.00, 1759, 2124); 117 INSERT INTO `commodity` VALUES (11, 2, 'Lenovo/联想 Y7000酷', 6399.00, 243, 2451); 118 INSERT INTO `commodity` VALUES (12, 2, 'Apple/苹果 MacBook Air', 8099.00, 1700, 1238); 119 INSERT INTO `commodity` VALUES (13, 2, 'Huawei/华为 MateBook X Pro', 7999.00, 1060, 2541); 120 INSERT INTO `commodity` VALUES (14, 2, 'Hasee/神州 战神i7 GTX1600Ti', 6999.00, 2191, 1447); 121 INSERT INTO `commodity` VALUES (15, 2, 'Dell/戴尔 GTX1650 ', 5698.00, 1820, 2143); 122 INSERT INTO `commodity` VALUES (16, 2, 'HP/惠普 暗影精灵5/光影精灵5', 5799.00, 1775, 1789); 123 INSERT INTO `commodity` VALUES (17, 2, 'Asus/华硕 灵耀S2代s4300FN8代', 4899.00, 1144, 541); 124 INSERT INTO `commodity` VALUES (18, 2, 'Asus/华硕 X505 超薄', 2999.00, 1019, 275); 125 INSERT INTO `commodity` VALUES (19, 2, 'Dell/戴尔 5584—灵越酷睿8代i5-8265U', 3999.00, 1000, 1423); 126 INSERT INTO `commodity` VALUES (20, 2, '小米笔记本 RedmiBook i5', 4299.00, 980, 2564); 127 INSERT INTO `commodity` VALUES (21, 3, 'FLICO/斐尔可 机械键盘 104键', 969.00, 191, 1582); 128 INSERT INTO `commodity` VALUES (22, 3, 'FLICO/斐尔可 机械键盘 87键', 869.00, 165, 1741); 129 INSERT INTO `commodity` VALUES (23, 3, 'Keycool/凯酷 87键蓝牙机械键盘', 369.00, 114, 1470); 130 INSERT INTO `commodity` VALUES (24, 3, 'IQUNX F60蓝牙双模机械键盘cherry轴', 599.00, 147, 1252); 131 INSERT INTO `commodity` VALUES (25, 3, 'IQUNX F96JOKER蓝牙双模机械键盘', 0.00, 0, 0); 132 INSERT INTO `commodity` VALUES (26, 3, 'IQUNX F96JOKER蓝牙双模机械键盘', 1288.00, 472, 1527); 133 INSERT INTO `commodity` VALUES (27, 3, 'IQUNX PINK粉机械键盘F96', 1099.00, 143, 1472); 134 INSERT INTO `commodity` VALUES (28, 3, 'ANNE/安妮 ANNE pro蓝牙机械键盘', 499.00, 536, 89); 135 INSERT INTO `commodity` VALUES (29, 3, 'varmiluo/阿米洛 87Mac机械键盘', 699.00, 165, 477); 136 INSERT INTO `commodity` VALUES (30, 3, 'varmiluo/阿米洛 双模机械键盘海韵静电荣轴', 729.00, 836, 1247); 137 INSERT INTO `commodity` VALUES (31, 4, '罗技 G102有线电竞游戏鼠标', 109.00, 12000, 5622); 138 INSERT INTO `commodity` VALUES (32, 4, '罗技 G502RGB有线鼠标', 279.00, 286, 452); 139 INSERT INTO `commodity` VALUES (33, 4, '罗技 G502无线游戏鼠标', 1099.00, 233, 1436); 140 INSERT INTO `commodity` VALUES (34, 4, 'Razer/雷蛇 炼狱蝰蛇游戏鼠标专用', 129.00, 13000, 8000); 141 INSERT INTO `commodity` VALUES (35, 4, 'Razer/雷蛇 蝮蛇竞技版鼠标', 379.00, 445, 1899); 142 INSERT INTO `commodity` VALUES (36, 4, '赛睿/rival 电竞游戏鼠标', 179.00, 459, 124); 143 INSERT INTO `commodity` VALUES (37, 4, '双飞燕 血手幽灵游戏鼠标', 169.00, 1636, 1494); 144 INSERT INTO `commodity` VALUES (38, 4, '雷柏 MT750S蓝牙无线鼠标', 179.00, 933, 1522); 145 INSERT INTO `commodity` VALUES (39, 4, '小米 无线游戏鼠标', 229.00, 136, 147); 146 INSERT INTO `commodity` VALUES (40, 4, '雷柏 VT950无线游戏鼠标', 329.00, 68, 23); 147 INSERT INTO `commodity` VALUES (41, 5, 'Huawei/华为 M6', 2699.00, 14000, 27555); 148 INSERT INTO `commodity` VALUES (42, 5, 'Huawei/华为 M5青春版', 1199.00, 3632, 2895); 149 INSERT INTO `commodity` VALUES (43, 5, 'Apple/苹果 ipad 2018款Air', 3869.00, 6203, 785); 150 INSERT INTO `commodity` VALUES (44, 5, 'Xiaomi/小米 小米平板2', 369.00, 10, 1477); 151 INSERT INTO `commodity` VALUES (45, 5, 'Apple/苹果 ipadmini5 ', 2258.00, 1346, 2658); 152 INSERT INTO `commodity` VALUES (46, 5, 'Apple/苹果 ipad Pro 11', 3608.00, 1052, 2588); 153 INSERT INTO `commodity` VALUES (47, 5, '荣耀 荣耀平板5', 1199.00, 630, 253); 154 INSERT INTO `commodity` VALUES (48, 5, 'Jumper/中柏 EZpad GO', 1849.00, 253, 2147); 155 INSERT INTO `commodity` VALUES (49, 5, 'Huawei/华为 华为畅享平板m6', 1138.00, 125, 1473); 156 INSERT INTO `commodity` VALUES (50, 5, '小米 小米平板4', 1099.00, 2496, 124); 157 INSERT INTO `commodity` VALUES (51, 6, '三星AKG 原装耳机note8', 35.00, 3216, 1489); 158 INSERT INTO `commodity` VALUES (52, 6, '苹果 原装耳机3.5mm', 189.00, 1814, 50458); 159 INSERT INTO `commodity` VALUES (53, 6, '苹果原装耳机 Lightning接口', 189.00, 9607, 48953); 160 INSERT INTO `commodity` VALUES (54, 6, '苹果 AirPods', 1246.00, 77000, 84000); 161 INSERT INTO `commodity` VALUES (55, 6, 'Beats solo3 wireless无线蓝牙耳机', 678.00, 2900, 2685); 162 INSERT INTO `commodity` VALUES (56, 6, 'Beats BeatsX 耳塞无线蓝牙耳机', 799.00, 1988, 8412); 163 INSERT INTO `commodity` VALUES (57, 6, 'Beats BeatsURBEATS3.0魔音', 486.00, 982, 1455); 164 INSERT INTO `commodity` VALUES (58, 6, 'VIVO vivoX21原装耳机', 68.00, 438, 1989); 165 INSERT INTO `commodity` VALUES (59, 6, 'VIVO vivoXE100', 36.00, 152, 986); 166 INSERT INTO `commodity` VALUES (60, 6, 'OPPO MH135', 59.00, 13000, 14007); 167 INSERT INTO `commodity` VALUES (61, 7, '紫米/zimi 紫米无线充电器', 99.00, 586, 12777); 168 INSERT INTO `commodity` VALUES (62, 8, '卓凡 阿尼玛皮带', 158.00, 7402, 2895); 169 INSERT INTO `commodity` VALUES (63, 8, '花花公子皮带', 49.00, 18000, 28914); 170 INSERT INTO `commodity` VALUES (64, 8, '稻草人皮带', 59.00, 24000, 14755); 171 INSERT INTO `commodity` VALUES (65, 8, '七匹狼皮带', 129.00, 581, 2514); 172 INSERT INTO `commodity` VALUES (66, 8, '金利来皮带', 259.00, 5427, 3615); 173 INSERT INTO `commodity` VALUES (67, 9, '博朗剃须刀', 899.00, 3758, 4815); 174 INSERT INTO `commodity` VALUES (68, 9, '飞科剃须刀', 59.00, 12045, 58411); 175 INSERT INTO `commodity` VALUES (69, 9, '小米剃须刀', 79.00, 6038, 14855); 176 INSERT INTO `commodity` VALUES (70, 9, '飞利浦剃须刀', 229.00, 52000, 14772); 177 INSERT INTO `commodity` VALUES (71, 10, 'EARISE/雅兰仕 H2笔记本音响', 8.90, 50955, 14751); 178 INSERT INTO `commodity` VALUES (72, 10, '小米小艾音响', 99.00, 26140, 4715); 179 INSERT INTO `commodity` VALUES (73, 10, '天猫精灵音响', 89.00, 41504, 12483); 180 INSERT INTO `commodity` VALUES (74, 11, 'zippo打火机', 150.00, 3435, 28456); 181 INSERT INTO `commodity` VALUES (75, 11, 'ZORRO煤油打火机', 37.00, 6911, 1477); 182 INSERT INTO `commodity` VALUES (76, 11, 'Cricket草蜢打火机', 21.90, 2031, 4511); 183 INSERT INTO `commodity` VALUES (77, 12, '天王手表GS31091', 949.00, 1457, 12487); 184 INSERT INTO `commodity` VALUES (78, 12, '罗西尼MTP-1375', 398.00, 3654, 14784); 185 INSERT INTO `commodity` VALUES (79, 12, '卡西欧防水钢表', 388.00, 2444, 12487); 186 INSERT INTO `commodity` VALUES (80, 12, '依波机自动机械表', 1169.00, 14557, 21478); 187 INSERT INTO `commodity` VALUES (81, 12, '飞亚达女表钢带', 520.00, 1245, 14552); 188 INSERT INTO `commodity` VALUES (82, 13, '小米手环4', 169.00, 14553, 48551); 189 INSERT INTO `commodity` VALUES (83, 13, '华为荣耀手环', 219.00, 48751, 95441); 190 INSERT INTO `commodity` VALUES (84, 14, '希捷高速USB3.0移动2T', 499.00, 1884, 14745); 191 INSERT INTO `commodity` VALUES (85, 14, '希捷高速USB3.0移动1T', 355.00, 3309, 15843); 192 INSERT INTO `commodity` VALUES (86, 14, '东芝Usb3.0移动1T', 329.00, 4184, 12452); 193 INSERT INTO `commodity` VALUES (87, 14, '纽曼移动硬盘2T', 79.00, 13000, 25482); 194 INSERT INTO `commodity` VALUES (88, 14, '西部数据USB3.0高速移动银盘1T', 288.60, 1423, 4854); 195 INSERT INTO `commodity` VALUES (89, 14, '蓝硕USB3.0移动硬盘500g', 55.00, 460, 2841); 196 INSERT INTO `commodity` VALUES (90, 15, '惠普U盘32g', 29.00, 1550, 4812); 197 INSERT INTO `commodity` VALUES (91, 15, '三星U盘32g', 70.00, 10, 551); 198 INSERT INTO `commodity` VALUES (92, 15, '金士顿16g', 31.90, 1363, 4851); 199 INSERT INTO `commodity` VALUES (93, 15, '夏科U盘256gUSB3.0', 149.00, 1478, 15473); 200 INSERT INTO `commodity` VALUES (94, 15, '爱国者U盘32g', 32.90, 33007, 48451); 201 INSERT INTO `commodity` VALUES (95, 15, '闪迪U盘64g', 59.90, 18236, 25412); 202 INSERT INTO `commodity` VALUES (96, 16, '腾达 AC10千兆路由器', 129.00, 17596, 57441); 203 INSERT INTO `commodity` VALUES (97, 16, '小米4C智能路由器', 69.00, 6216, 18457); 204 INSERT INTO `commodity` VALUES (98, 16, '水星D196 1900M无线路由器', 135.00, 48125, 58458); 205 INSERT INTO `commodity` VALUES (99, 16, '荣耀路由器双千兆', 329.00, 3974, 28485); 206 INSERT INTO `commodity` VALUES (100, 16, '华为路由器', 139.00, 4771, 14784); 207 INSERT INTO `commodity` VALUES (101, 16, '华为路由器', 139.00, 4771, 14784); 208 INSERT INTO `commodity` VALUES (102, 1, '小米8青春版', 1039.00, 1802, 224); 209 INSERT INTO `commodity` VALUES (103, 1, '小米8手机屏幕指纹版', 1499.00, 1988, 166); 210 INSERT INTO `commodity` VALUES (104, 1, '小米9se', 1749.00, 1007, 667); 211 INSERT INTO `commodity` VALUES (105, 1, '苹果 xsmax', 9888.00, 9997, 4000); 212 INSERT INTO `commodity` VALUES (106, 1, '苹果 xs', 8888.00, 9856, 3410); 213 214 -- ---------------------------- 215 -- Table structure for record 216 -- ---------------------------- 217 DROP TABLE IF EXISTS `record`; 218 CREATE TABLE `record` ( 219 `userId` int(11) NOT NULL COMMENT '用户id', 220 `r_id` int(11) NOT NULL COMMENT '记录用户操作类型编号', 221 `r_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '记录用户操作类型名称', 222 `time` datetime(0) NOT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '记录用户操作类型时间', 223 `c_id` int(11) NOT NULL COMMENT '商品id' 224 ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; 225 226 -- ---------------------------- 227 -- Table structure for seller 228 -- ---------------------------- 229 DROP TABLE IF EXISTS `seller`; 230 CREATE TABLE `seller` ( 231 `seller_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '卖家编号', 232 `seller_name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '卖家姓名', 233 `seller_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '卖家地址', 234 `seller_password` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '卖家密码', 235 `seller_balance` decimal(65, 2) UNSIGNED NOT NULL COMMENT '卖家余额', 236 `seller_phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '卖家电话号码', 237 PRIMARY KEY (`seller_id`) USING BTREE 238 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; 239 240 -- ---------------------------- 241 -- Records of seller 242 -- ---------------------------- 243 INSERT INTO `seller` VALUES (1, 'akb48', '黄泉路52号', '123456', 10355.00, '13444444444'); 244 245 -- ---------------------------- 246 -- Table structure for states 247 -- ---------------------------- 248 DROP TABLE IF EXISTS `states`; 249 CREATE TABLE `states` ( 250 `userId` int(11) NOT NULL DEFAULT 0 COMMENT '用户id', 251 `c_id` int(11) NOT NULL DEFAULT 0 COMMENT '商品id', 252 `states_id` int(11) NOT NULL DEFAULT 0 COMMENT '状态id', 253 `evaluation` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '已上架' COMMENT '商品评价', 254 INDEX `fk_user_commodity`(`userId`) USING BTREE 255 ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; 256 257 -- ---------------------------- 258 -- Table structure for user 259 -- ---------------------------- 260 DROP TABLE IF EXISTS `user`; 261 CREATE TABLE `user` ( 262 `userId` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID', 263 `userName` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名', 264 `password` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '123456' COMMENT '密码', 265 `user_balance` double(50, 2) UNSIGNED NOT NULL DEFAULT 0.00 COMMENT '余额', 266 `integrate` double(50, 2) UNSIGNED NOT NULL DEFAULT 100.00 COMMENT '积分', 267 `address` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '未填写' COMMENT '地址', 268 `email` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '未添加' COMMENT '邮箱++做密保', 269 `sex` int(1) NOT NULL DEFAULT 0 COMMENT '0表示男,1表示女', 270 `user_phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '买家电话号码', 271 PRIMARY KEY (`userId`) USING BTREE, 272 UNIQUE INDEX `userName`(`userName`) USING BTREE, 273 UNIQUE INDEX `email`(`email`) USING BTREE 274 ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; 275 276 -- ---------------------------- 277 -- Records of user 278 -- ---------------------------- 279 INSERT INTO `user` VALUES (1, 'agdgdfg', '123456', 4545.00, 100.00, '未填写', '未添加', 0, ''); 280 281 SET FOREIGN_KEY_CHECKS = 1;
1 package com.shop.impl; 2 3 import com.shop.util.ConfigManager; 4 import com.shop.util.Get; 5 6 import java.sql.*; 7 8 import com.shop.pojo.States; 9 10 public class BaseDao { 11 PreparedStatement ps = null; 12 ResultSet rs = null; 13 Connection conn = null; 14 private final String driver = ConfigManager.getInstance().getString("jdbc.driver"); 15 private final String url = ConfigManager.getInstance().getString("jdbc.url"); 16 private final String user = ConfigManager.getInstance().getString("jdbc.userName"); 17 private final String password = ConfigManager.getInstance().getString("jdbc.password"); 18 19 /** 20 * 获取数据库连接 21 */ 22 public Connection getConn() { 23 try { 24 Class.forName(driver); 25 conn = DriverManager.getConnection(url, user, password); 26 // System.out.println(conn); 27 } catch (ClassNotFoundException e) { 28 e.printStackTrace(); 29 } catch (SQLException e) { 30 e.printStackTrace(); 31 } 32 return conn; 33 } 34 35 /** 36 * 查询方法 37 * 38 * @param sql 39 * @param obj 40 * @return 41 */ 42 public ResultSet executeQuery(String sql, Object... obj) { 43 getConn(); 44 try { 45 ps = conn.prepareStatement(sql); 46 if (obj != null) { 47 for (int i = 0; i < obj.length; i++) { 48 ps.setObject((i + 1), obj[i]); 49 } 50 } 51 rs = ps.executeQuery(); 52 } catch (SQLException e) { 53 e.printStackTrace(); 54 } 55 return rs; 56 57 } 58 59 /** 60 * 更新方法 61 * 62 * @param sql 63 * @param obj 64 * @return 65 */ 66 public int executeUpdate(String sql, Object... obj) { 67 getConn(); 68 int result = 0; 69 try { 70 ps = conn.prepareStatement(sql); 71 if (obj != null) { 72 for (int i = 0; i < obj.length; i++) { 73 ps.setObject((i + 1), obj[i]); 74 } 75 try{result = ps.executeUpdate();}catch (Exception e){ 76 System.out.println("操作失误!"); 77 } 78 } 79 } catch (SQLIntegrityConstraintViolationException e) { 80 81 } catch (SQLException e) { 82 e.printStackTrace(); 83 } finally { 84 closeAll(); 85 } 86 return result; 87 } 88 89 /** 90 * 释放资源 91 */ 92 public void closeAll() { 93 try { 94 if (rs != null) { 95 rs.close(); 96 } 97 if (ps != null) { 98 ps.close(); 99 } 100 if (conn != null) { 101 conn.close(); 102 } 103 } catch (SQLException e) { 104 e.printStackTrace(); 105 } 106 } 107 108 }
1 package com.shop.util; 2 3 import com.shop.impl.ActivityDaoImpl; 4 5 import java.text.ParseException; 6 import java.text.SimpleDateFormat; 7 import java.util.*; 8 9 /** 10 * @auther::9527 11 * @Description: 活动,根据日期判定是否在购买时进行优惠 12 * @program: jdbc_demo 13 * @create: 2019-08-30 08:50 14 */ 15 public class Discount { 16 17 /** 18 * @param nowTime 当前时间 19 * @param beginTime 开始时间 20 * @param endTime 结束时间 21 * @return 如果当前时间在开始时间和结束时间之内就返回true,否则返回false 22 * @author 周小龙 19-8-30 23 */ 24 public static boolean isActivity(Date nowTime, Date beginTime, Date endTime) { 25 Calendar date = Calendar.getInstance(); 26 date.setTime(nowTime); 27 Calendar begin = Calendar.getInstance(); 28 begin.setTime(beginTime); 29 Calendar end = Calendar.getInstance(); 30 end.setTime(endTime); 31 if (date.after(begin) && date.before(end)) { 32 return true; 33 } else if (nowTime.compareTo(beginTime) == 0 || nowTime.compareTo(endTime) == 0) { 34 return true; 35 } else { 36 return false; 37 } 38 } 39 40 /** 41 * @param str 按格式输入时间 42 * @return 根据String返回时间 43 */ 44 public static Date strToDate(String str) { 45 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 46 Date date = null; 47 try { 48 date = sdf.parse(str); 49 } catch (ParseException e) { 50 } 51 return date; 52 } 53 54 55 /** 56 * @param map 传递活动名称,开始时间,结束时间,和折扣的map 57 * @return 返回折扣系数 58 */ 59 public static double isDiscount(Map, Double>> map) { 60 double discount = 1.0; 61 62 for (Map.Entry , Double>> waiCeng : map.entrySet()) { 63 for (Map.Entry
1 package com.shop.impl; 2 3 import com.shop.dao.ActivityDao; 4 import com.shop.pojo.Activity; 5 6 import java.sql.SQLException; 7 import java.util.*; 8 9 /** 10 * @auther::9527 11 * @Description: 活动实现类 12 * @program: jdbc_demo 13 * @create: 2019-08-30 10:37 14 */ 15 public class ActivityDaoImpl extends BaseDao implements ActivityDao { 16 /** 17 * @param activityName 18 * @return 19 * @author 周小龙 20 */ 21 @Override 22 public Activity findByName(String activityName) { 23 return null; 24 } 25 26 /** 27 * @param 28 * @return 29 * @author 周小龙 30 */ 31 @Override 32 public Map, Double>> findAll() { 33 Map , Double>> mapOut = null; 34 Map , Double> mapMid = new HashMap<>(); 35 Map mapIn = new HashMap<>(); 36 37 com.shop.pojo.Activity activity = null; 38 String sql = "SELECT * from activity"; 39 Object[] obj = {}; 40 rs = this.executeQuery(sql, obj); 41 try { 42 while (rs.next()) { 43 mapOut = new HashMap<>(); 44 mapMid = new HashMap<>(); 45 mapIn = new HashMap<>(); 46 activity = new com.shop.pojo.Activity(); 47 activity.setActivityId(rs.getInt("activityId")); 48 activity.setActivityName(rs.getString("activityName")); 49 activity.setBegin(rs.getString("begin")); 50 activity.setFinish(rs.getString("finish")); 51 activity.setDiscount(rs.getDouble("discount")); 52 //传递活动名称,开始时间,结束时间,和折扣 53 String name = activity.getActivityName(); 54 String begin = activity.getBegin(); 55 String finish = activity.getFinish(); 56 double discount = activity.getDiscount(); 57 mapIn.put(begin, finish); 58 mapMid.put(mapIn, discount); 59 mapOut.put(name, mapMid); 60 } 61 62 63 } catch (SQLException e) { 64 e.printStackTrace(); 65 } 66 return mapOut; 67 } 68 69 70 71 public static void main(String[] args) { 72 ActivityDaoImpl activityDao = new ActivityDaoImpl(); 73 74 } 75 }
1 package com.shop.dao; 2 3 import com.shop.pojo.Activity; 4 5 import java.util.Map; 6 7 /** 8 * @auther::9527 9 * @Description: 活动接口 10 * @program: jdbc_demo 11 * @create: 2019-08-30 10:37 12 */ 13 public interface ActivityDao { 14 /** 15 * @author 周小龙 16 * @param activityName 17 * @return 18 */ 19 Activity findByName(String activityName); 20 21 /** 22 * 23 * @param 24 * @return 25 */ 26 Map, Double>> findAll(); 27 28 }
|--关键代码:
1 /** 2 * @param str 按格式输入时间 3 * @return 根据String返回时间 4 */ 5 public static Date strToDate(String str) { 6 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 7 Date date = null; 8 try { 9 date = sdf.parse(str); 10 } catch (ParseException e) { 11 } 12 return date; 13 } 14 15 /** 16 * @param nowTime 当前时间 17 * @param beginTime 开始时间 18 * @param endTime 结束时间 19 * @return 如果当前时间在开始时间和结束时间之内就返回true,否则返回false 20 * @author 周小龙 19-8-30 21 */ 22 public static boolean isActivity(Date nowTime, Date beginTime, Date endTime) { 23 Calendar date = Calendar.getInstance(); 24 date.setTime(nowTime); 25 Calendar begin = Calendar.getInstance(); 26 begin.setTime(beginTime); 27 Calendar end = Calendar.getInstance(); 28 end.setTime(endTime); 29 if (date.after(begin) && date.before(end)) { 30 return true; 31 } else if (nowTime.compareTo(beginTime) == 0 || nowTime.compareTo(endTime) == 0) { 32 return true; 33 } else { 34 return false; 35 } 36 }