# ssm-demo **Repository Path**: chenlei1992/ssm-demo ## Basic Information - **Project Name**: ssm-demo - **Description**: ssm框架的一个demo - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2018-07-21 - **Last Updated**: 2022-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ssm-demo #### 项目介绍 ### ssm框架的一个demo,模仿银行业务的功能: * 登陆、注册、登入登出、查看理财产品(查看理财产品列表)、点击进入理财产品并购买、查询账户余额 #### demo实现效果展示图 ![效果展示图](http://i2.tiimg.com/727512/08c12bb0429ded9e.gif) #### 数据库表结构 * 数据库一共有3张表:user(存放用户基本信息)、account(关联用户和账户信息)、bank_product(银行理财产品的表),数据库名我起名为jsyh,使用的登录数据库名和密码放在数据库连接的配置文件jdbc.properties,格式如下: * 自己搭建的数据库,应将jdbc.username和password的xxx替换成自己的 ``` jdbc.driverClass=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/jsbc jdbc.username=xxx jdbc.password=xxx ``` * 使用以下命令快速生成数据库需要的表 ``` CREATE TABLE `user` ( `user_id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `id_card` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `phone` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `login_password` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL, `pay_password` varchar(11) COLLATE utf8_unicode_ci DEFAULT NULL, `job` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `email` varchar(11) COLLATE utf8_unicode_ci DEFAULT NULL, `account_id` int(100) DEFAULT NULL, `create_time` datetime DEFAULT NULL, `last_edit_time` datetime DEFAULT NULL, PRIMARY KEY (`user_id`), KEY `account_id` (`account_id`), CONSTRAINT `user_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `account` (`account_id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; CREATE TABLE `account` ( `account_id` int(100) NOT NULL AUTO_INCREMENT, `money` varchar(100) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `account_desc` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `last_edit_time` datetime DEFAULT NULL, PRIMARY KEY (`account_id`) ) ENGINE=InnoDB AUTO_INCREMENT=10006 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; CREATE TABLE `bank_product` ( `product_id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(11) DEFAULT NULL, `desc` varchar(11) DEFAULT NULL, `rate` varchar(11) DEFAULT NULL, `money` varchar(100) DEFAULT NULL, `create_time` datetime DEFAULT NULL, `last_edit_time` datetime DEFAULT NULL, PRIMARY KEY (`product_id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; ``` * 插入一些测试数据 ``` INSERT INTO `user` (`user_id`, `name`, `id_card`, `phone`, `login_password`, `pay_password`, `job`, `email`, `account_id`, `create_time`, `last_edit_time`) VALUES (1, 'chenlei', '123', '13222780923', '202cb962ac59075b964b07152d234b70', NULL, '科学研究人员', NULL, 1234, NULL, NULL), (2, 'lisi', '12345', '12345', '202cb962ac59075b964b07152d234b70', NULL, '军人', NULL, 1234, NULL, NULL), (3, 'wangwu ', '12345', '12345', '202cb962ac59075b964b07152d234b70', NULL, '科学研究人员', NULL, 10005, NULL, NULL); INSERT INTO `account` (`account_id`, `money`, `account_desc`, `create_time`, `last_edit_time`) VALUES (1234, '7679', '直销银行账户', NULL, '2018-07-25 08:35:20'), (1235, '8787', '直销银行用户', NULL, NULL), (1236, '1000', '电子银行', '2018-07-22 11:56:25', '2018-07-22 11:56:25'), (1237, '800', '电子银行', '2018-07-22 12:28:20', '2018-07-22 12:28:20'), (1238, '11600', '外部商户', '2018-07-22 13:50:16', '2018-07-22 13:50:16'), (10005, '12000', '直销银行', '2018-07-24 18:13:28', '2018-07-24 18:13:28'); INSERT INTO `bank_product` (`product_id`, `name`, `desc`, `rate`, `money`, `create_time`, `last_edit_time`) VALUES (1, '开鑫盈', '1分起购,1万元实时s', '4.31', '4564', '2018-07-22 07:56:25', '2018-07-25 08:35:20'), (2, '聚益宝', '百元起投,灵活可转让', '5.35', '1000', '2018-07-22 07:56:25', '2018-07-22 07:56:25'), (3, '优理财', '5万起投,定期高收益', '5.45', '6000', '2018-07-22 07:56:25', '2018-07-22 07:56:25'), (4, '乐保险', '1000元起购,T+1', '3.96', '5000', '2018-07-22 07:56:25', '2018-07-22 07:56:25'), (5, '慧基金', '业绩领先,慧眼识财', '6.95', '3000', '2018-07-22 07:56:25', '2018-07-22 07:56:25'), (6, '存黄金', '10元起购,“金”持财', '2.68', '3000', '2018-07-22 07:56:25', '2018-07-22 07:56:25'), (7, '慧多存', '利息随期,熟知放心', '1.92', '4000', '2018-07-22 07:56:25', '2018-07-22 07:56:25'); ``` #### 安装教程 * [项目主页](https://gitee.com/chenlei1992/ssm-demo)点击克隆下载,选择https下载方式下载zip解压到本地(如果知道如何使用ssh方式配置的,建议使用ssh下载代码) * 建议使用ntelliJ IDEA导入项目,运行的时候jdk1.7以上即可、配置tomcat server 8.5以上,idea配置tomcat可以参考[idea配置web项目](http://www.cnblogs.com/Miracle-Maker/articles/6476687.html) * ![Tomcat服务器部署](http://p1q65vvyr.bkt.clouddn.com/%E9%85%8D%E7%BD%AEtomcat%E6%9C%8D%E5%8A%A1%E5%99%A8.gif) #### 项目代码结构简介 * eitity实体类:User、Account、BankProduct * DAO类:UserDao 包括以下数据库操作: * 根据用户id查询用户 * 插入用户 * 根据手机号和密码查询是否一致,一致返回数字1,不一致返回数字0 * 根据用户名和密码查询是否一致,一致返回数字1,不一致返回数字0 * 更新用户account_id * 根据用户iphone获取密码 * 根据用户名获取密码 * AccountDao类: * 根据用户account_id,查询账户信息 * 更新账户余额 * 添加一个账户,并获取新增账户的id * BankProductDaol: * 查询所有理财产品 * 查询单个理财产品 * 更新产品交易额 * 服务类: * UserService: * 注册用户过程、注册成功后,新增用户根据用户名和密码查询是否一致,一致返回数字1,不一致返回数字0 * BankProductService * 根据前端的理财产品立即购买,增加产品的money金额,同时减少用户账户的money金额,前端拿到手的是user_id,account_id,product_id,购买金额price * 根据产品id查出产品信息