最近复习 JavaEE ,感觉还是要写点啥更有效率,平时比较爱买书,所以索性做了一个同时比较 4 个网上商城的小站点,发布了第一个可以用版本了,准备开源。技术栈如下:
JDK1.8
Spring4.3.x
Hibernate5.2x
Mysql5.x
前端用了, bootstrap, vue.js
web 容器是: Tomcat8.x
源代码在这里: https://github.com/RobotJiang/book_price_compare
第一个版本部署在: http://112.74.124.215:7000/
P.S. 第一个版本非常简陋,也没有做过多的安全验证,请各位大侠玩的时候手下留情,别把我的那台服务器玩坏了。:) (4 个网上卖书的是:京东,亚马逊,当当,文轩网)
最后求各位大侠, fork, star .
1
eyp82 2016-11-30 22:51:30 +08:00
表示网站无法打开啊
|
2
Noocl 2016-11-30 22:56:33 +08:00
Internal Server Error
|
4
timothyye 2016-11-30 23:02:54 +08:00 1
已 star
|
5
onyourroad 2016-11-30 23:05:28 +08:00
不错,提供了一些小的便利。
|
6
lcc4376 2016-11-30 23:11:16 +08:00
老白專業是化學怎寫 code 了?
|
8
xiaolai123 2016-11-30 23:13:22 +08:00 via Android
已 star
|
9
Lonely 2016-11-30 23:50:25 +08:00
看一看瞧一瞧
|
10
HTNecro 2016-11-30 23:58:57 +08:00
推荐 springboot
|
11
wangpugod2003 2016-12-01 09:47:23 +08:00
现在该换 springMVC + mybatis 了吧~
|
12
outmanone OP @wangpugod2003 mybatis 以前也用过,不过写这种练习程序,还是 Hibernate 方便。 mybatis 虽然比较灵活,但写映射文件也很讨厌。
|
13
leesudo 2016-12-01 10:47:28 +08:00
这是写来练手的吧,还以为是惠惠购物助手那种比价,简单扫了下代码,发现并不是。
首次查询时去源站抓了价格,然后就存数据库了。以后每次都去查本地数据库的记录了,比的价格都是过期的。 这几个电商每一个的图书商品少说有几百 W 条记录吧,你直接全存一张表里了。另外查询的语句用 like %% 这种索引都没法用吧。 |
14
misaka19000 2016-12-01 11:15:24 +08:00
如果不存数据库而是每次都抓取最新的价格信息是不是会好一点?
|
16
outmanone OP @misaka19000 可以贡献代码啊,实现你的想法。如果可以,我们就重新部署。
|
17
outmanone OP @leesudo 存一张表里面也没有什么问题,因为又没有写服务爬虫去爬数据。只有人用的多,搜索的多,才会增加数据。这小数据用 Like 也可以的。如果要继续搞下去,肯定要重构啊什么的。这是我复习 JavaEE 时写的一个小程序。希望能贡献代码。谢谢。
|
18
gejun123456 2016-12-01 14:16:31 +08:00
楼主我最近也复习了下,写了个博客
https://github.com/gejun123456/bootstrap-java-blog 基于 springboot+mybatis 一同学习下哈 mybatis 生成 xml 是挺麻烦的 在 intellij 下有个插件可以自动生成 插件名是 codehelper.generator 我代码里的 xml 就是用这个生成的 挺方便的 |
19
outmanone OP @gejun123456 不错,不错,一同学习。
|
20
fantastM 2016-12-01 16:52:22 +08:00
```
if(keyword != null && keyword.trim() != "") ``` 非空字符串的判断,是不是该用.equals() |
22
q397064399 2016-12-05 17:25:39 +08:00
我 fork 了你的代码,麻烦请使用 jdk1.7 ,真的, 1.8 目前还是非主流,我正在把你的代码从 1.8 改回 1.7
|
23
q397064399 2016-12-05 18:28:44 +08:00
已经改成 1.7 正常运行了,练手的好项目,脚手架已经搭好,我准备改成 JPA 做 DAO 层
|
24
q397064399 2016-12-07 10:54:02 +08:00
https://github.com/jonwinters/book-price-compare
已经 forked 了,嫌麻烦 直接扒过来用 Jdk1.7 写的 |
25
q397064399 2016-12-07 10:57:15 +08:00
|
26
q397064399 2016-12-07 11:01:44 +08:00
https://github.com/jonwinters/book-price-compare
这个版本已经改 JDK1.7 了,改了数据库查不到结果 bug , 默认设定 数据库缓存 2 小时,可以在 Utils 里面改 缓存时间 还有一个小问题没有解决,就是前面的关键字会覆盖后面新的结果 |
27
zxc337 2016-12-09 12:17:09 +08:00
|
28
gejun123456 2016-12-09 17:05:19 +08:00
@zxc337 哇,你这个写得好漂亮,我来学习下
|
29
outmanone OP @q397064399 为什么你们觉得有问题,你们都不提 issue, 也不做 PR ? 我现在的项目已经前端和后端彻底分开了,并且用 node.js 重构了前端。
|
30
outmanone OP @q397064399 练手嘛,当然要用 Java8 了。
|
31
q397064399 2016-12-10 07:03:43 +08:00
@outmanone
因为我根本就不会 node.js , js 基本上都是 我当做面向过程的语言 偶尔为了前端交互,配合 Jquery 写一点,我连前端的脚手架都不会用,更不要提 node.js 了,而且我一直只用 1.7 ,很多人一直还在用 1.6 一来 写 Java 的 大多比较念旧,不像 C++那么喜欢追新语法,一个 Lamada ,跟一个匿名接口实现类 区别并不大, 前者很多新手不一定能看懂, comparetor 有接口定义,新手点开看下接口定义 也大概知道怎么一回事,总体而言,语法糖层面的东西,用旧不用新,毕竟也就是多几个单词而已 |
32
outmanone OP @q397064399
1. Node.js 不会就慢慢学嘛。不过 JS 怎么又面向过程了,大哥?而且现在 jQuery 都是以基础库存在的,很少有人直接用它,并且现在很多库都不用 jQuery 了。如果你还在直接用 jQuery 证明你已经落伍了。 2. 写 Java 的也不一定都守旧吧,人家 C++ 都几十年了,仍然推陈出新(参考 C++11),怎么到你那里就变成什么都是语法糖了? Java8 里面很多新东西还真不是什么语法糖可以说的过去的。 Lambda 也不是什么新概念(stream 就跟不是了),很多新手,特别是看过其他动态语言的估计一眼就看懂了,既然是练习,多说两句,肯定要很快速的,用尽量少的代码实现功能啊。难道,意大利面条式的代码,天天写,还有理了? |
33
q397064399 2016-12-16 05:33:01 +08:00
@outmanone 不是有理,我依旧 JDK7 ,╮(╯▽╰)╭
|
34
wyk1184 2016-12-26 16:27:55 +08:00
@q397064399 太较真
|