Skip to content

Commit f01f313

Browse files
committed
mongodb redis
1 parent 70fa404 commit f01f313

File tree

13 files changed

+913
-8
lines changed

13 files changed

+913
-8
lines changed

pom.xml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>com.yi</groupId>
77
<artifactId>spring-boot-restful-api</artifactId>
8-
<version>0.0.5-SNAPSHOT</version>
8+
<version>0.0.6</version>
99
<packaging>jar</packaging>
1010

1111
<name>spring-boot-restful-api</name>
@@ -38,6 +38,7 @@
3838
<groupId>org.springframework.boot</groupId>
3939
<artifactId>spring-boot-starter-freemarker</artifactId>
4040
</dependency>
41+
4142
<dependency>
4243
<groupId>org.springframework.boot</groupId>
4344
<artifactId>spring-boot-starter-jdbc</artifactId>
@@ -46,10 +47,31 @@
4647
<groupId>org.springframework.boot</groupId>
4748
<artifactId>spring-boot-starter-aop</artifactId>
4849
</dependency>
50+
51+
<!--redis-->
4952
<dependency>
5053
<groupId>org.springframework.boot</groupId>
5154
<artifactId>spring-boot-starter-data-redis</artifactId>
5255
</dependency>
56+
57+
<!--mongo-->
58+
<dependency>
59+
<groupId>org.springframework.boot</groupId>
60+
<artifactId>spring-boot-starter-data-mongodb</artifactId>
61+
</dependency>
62+
63+
<!--kafka-->
64+
<dependency>
65+
<groupId>org.springframework.kafka</groupId>
66+
<artifactId>spring-kafka</artifactId>
67+
</dependency>
68+
69+
<!--rabbitmq-->
70+
<dependency>
71+
<groupId>org.springframework.boot</groupId>
72+
<artifactId>spring-boot-starter-amqp</artifactId>
73+
</dependency>
74+
5375
<dependency>
5476
<groupId>org.springframework.boot</groupId>
5577
<artifactId>spring-boot-starter-test</artifactId>
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
package com.yi.project.controller;
2+
3+
import com.yi.project.model.MongoBaike;
4+
import com.yi.project.service.MongoDbBaiKeService;
5+
import com.yi.project.utils.MessageResult;
6+
import org.springframework.beans.factory.annotation.Autowired;
7+
import org.springframework.web.bind.annotation.RequestMapping;
8+
import org.springframework.web.bind.annotation.RestController;
9+
10+
import java.util.ArrayList;
11+
import java.util.Date;
12+
import java.util.List;
13+
14+
/**
15+
* mongoDB执行操作
16+
* @author YI
17+
* @date 2018-8-22 15:14:14
18+
*/
19+
@RestController
20+
@RequestMapping("/mongodb")
21+
public class BaiKeMongoController {
22+
@Autowired
23+
private MongoDbBaiKeService mongoDbBaiKeService;
24+
25+
/**
26+
* 根据名称查询文档
27+
* @param id 文档主键
28+
* @return
29+
*/
30+
@RequestMapping("/baike")
31+
public MessageResult findUser(Integer id) {
32+
MongoBaike baike = mongoDbBaiKeService.findById(id);
33+
34+
return MessageResult.ok(baike);
35+
}
36+
37+
/**
38+
* 添加百科文档
39+
* @return
40+
*/
41+
@RequestMapping("/addbaike")
42+
public MessageResult addDict() {
43+
List<String> list1 = new ArrayList<>();
44+
list1.add("文学");
45+
list1.add("小说");
46+
MongoBaike baike1 = new MongoBaike(5, "老人与海", list1, 1000, 10, "海明威", "男", 100, 0, new Date(), new Date());
47+
48+
List<String> list2 = new ArrayList<>();
49+
list2.add("魔幻");
50+
list2.add("小说");
51+
MongoBaike baike2 = new MongoBaike(6, "全职法师", list2, 1000000, 5, "乱", "男", 1000, 0, new Date(), new Date());
52+
53+
mongoDbBaiKeService.addDict(baike1);
54+
mongoDbBaiKeService.addDict(baike2);
55+
56+
return MessageResult.ok();
57+
}
58+
59+
/**
60+
* 查询comment的bad属性大于等于一定数量的Baike对象
61+
* @param bad
62+
* @return
63+
*/
64+
@RequestMapping("/querybad")
65+
public MessageResult queryBad(int bad) {
66+
List<MongoBaike> baikes = mongoDbBaiKeService.queryBad(bad);
67+
68+
return MessageResult.ok(baikes);
69+
}
70+
71+
/**
72+
* 点赞,这个标签名的点个赞
73+
* http://127.0.0.1:8080/mongodb/baike/tag?tag=魔幻
74+
* @param tag 标签名称
75+
* @return
76+
*/
77+
@RequestMapping("/baike/tag")
78+
public MessageResult addOne(String tag) {
79+
String one = mongoDbBaiKeService.addOne(tag);
80+
81+
return MessageResult.ok(one);
82+
}
83+
84+
/**
85+
* 检索置顶标签,分页显示
86+
* @param tag 标签名称
87+
* @param pageNum
88+
* @return
89+
*/
90+
@RequestMapping("/baike/tagPageNum")
91+
public MessageResult findBaike(String tag, int pageNum) {
92+
List<MongoBaike> baikes = mongoDbBaiKeService.findBaike(tag, pageNum);
93+
94+
return MessageResult.ok(baikes);
95+
}
96+
97+
/**
98+
* 查询点赞数小于good,负面评价大于bad的所有Baike
99+
* @param tag 标签名称
100+
* @param good <(^-^)> 你最棒 点赞数
101+
* @param bad (。•ˇ‸ˇ•。)滚犊子 负面数
102+
* @return
103+
*/
104+
@RequestMapping("/baike/tagRange")
105+
public MessageResult findBaike(String tag, int good, int bad) {
106+
List<MongoBaike> baikes = mongoDbBaiKeService.findBaike(tag, good, bad);
107+
108+
return MessageResult.ok(baikes);
109+
}
110+
111+
/**
112+
* 更新文档
113+
* @param baike
114+
* @return
115+
*/
116+
@RequestMapping("/updatebaike")
117+
public MessageResult updateDict(MongoBaike baike) {
118+
MongoBaike bk = mongoDbBaiKeService.updateDict(baike);
119+
120+
return MessageResult.ok(bk);
121+
}
122+
123+
/**
124+
* 通过id删除文档
125+
* @param id
126+
* @return
127+
*/
128+
@RequestMapping("/deletebaike")
129+
public MessageResult deleteDict(Integer id) {
130+
MongoBaike baike = mongoDbBaiKeService.deleteDict(id);
131+
132+
return MessageResult.ok(baike);
133+
}
134+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package com.yi.project.controller;
2+
3+
import com.yi.project.model.Baike;
4+
import com.yi.project.utils.MessageResult;
5+
import org.springframework.beans.factory.annotation.Autowired;
6+
import org.springframework.data.redis.core.BoundListOperations;
7+
import org.springframework.data.redis.core.RedisTemplate;
8+
import org.springframework.web.bind.annotation.RequestMapping;
9+
import org.springframework.web.bind.annotation.RequestMethod;
10+
import org.springframework.web.bind.annotation.RestController;
11+
12+
import java.util.ArrayList;
13+
import java.util.Date;
14+
import java.util.List;
15+
import java.util.concurrent.TimeUnit;
16+
17+
18+
@RestController
19+
@RequestMapping("/redis")
20+
public class BaiKeStringController {
21+
22+
@Autowired
23+
private RedisTemplate redisTemplate;
24+
25+
/**
26+
* 添加百科文档 LIST结构
27+
* @return
28+
*/
29+
@RequestMapping("/addBaikeList")
30+
public MessageResult addBaikeList() {
31+
List<String> list1 = new ArrayList<>();
32+
list1.add("文学");
33+
list1.add("小说");
34+
Baike baike1 = new Baike(1, "老人与海", list1, 1000, 10, "海明威", "男", 100, 0, new Date(), new Date());
35+
36+
List<String> list2 = new ArrayList<>();
37+
list2.add("魔幻");
38+
list2.add("小说");
39+
Baike baike2 = new Baike(2, "全职法师", list2, 1000000, 5, "乱", "男", 1000, 0, new Date(), new Date());
40+
41+
BoundListOperations baikeList = redisTemplate.boundListOps("baikeList");
42+
43+
baikeList.leftPushAll(baike1, baike2);
44+
45+
// 10秒过期
46+
redisTemplate.opsForValue().set("baike",baike1,10, TimeUnit.SECONDS);
47+
48+
return MessageResult.ok();
49+
}
50+
51+
/**
52+
* 根据key查询文档
53+
* @return
54+
*/
55+
@RequestMapping(value="/findBaikeList")
56+
public MessageResult findBaikeList() {
57+
BoundListOperations listOperations = redisTemplate.boundListOps("baikeList");
58+
List list = listOperations.range(0, 10);
59+
return MessageResult.ok(list);
60+
}
61+
}

src/main/java/com/yi/project/controller/cityContoller.java renamed to src/main/java/com/yi/project/controller/CityContoller.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import org.springframework.web.bind.annotation.RestController;
66

77
@RestController
8-
public class cityContoller {
8+
public class CityContoller {
99

1010
@RequestMapping(value="/addCity",method= RequestMethod.GET)
1111
public boolean addCity() {

src/main/java/com/yi/project/controller/user.java renamed to src/main/java/com/yi/project/controller/UserController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import org.springframework.web.bind.annotation.RestController;
99

1010
@RestController
11-
public class user {
11+
public class UserController {
1212

1313
@RequestMapping(value = "/user", method= RequestMethod.GET)
1414
public FestFulBean<String> user(@RequestParam String username) {
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
package com.yi.project.dao;
2+
3+
import com.mongodb.client.result.UpdateResult;
4+
import com.yi.project.model.MongoBaike;
5+
import org.springframework.beans.factory.annotation.Autowired;
6+
import org.springframework.data.mongodb.core.MongoTemplate;
7+
import org.springframework.data.mongodb.core.query.Criteria;
8+
import org.springframework.data.mongodb.core.query.Query;
9+
import org.springframework.data.mongodb.core.query.Update;
10+
import org.springframework.stereotype.Repository;
11+
12+
import java.util.List;
13+
14+
import static org.springframework.data.mongodb.core.query.Query.query;
15+
16+
/**
17+
* MongoDB操作Baike
18+
* @author YI
19+
* @date 2018-8-22 15:17:44
20+
*/
21+
@Repository
22+
public class MongoDbBaiKeDao {
23+
@Autowired
24+
private MongoTemplate mongoTemplate;
25+
26+
public MongoBaike findById(Integer id) {
27+
28+
MongoBaike dict = mongoTemplate.findById(id, MongoBaike.class);
29+
return dict;
30+
}
31+
32+
public MongoBaike addDict(MongoBaike baike) {
33+
mongoTemplate.insert(baike);
34+
35+
return baike;
36+
}
37+
38+
public List<MongoBaike> queryBad(Criteria criteria) {
39+
List<MongoBaike> list = mongoTemplate.find(query(criteria), MongoBaike.class);
40+
41+
return list;
42+
}
43+
44+
public long addOne(Criteria criteria, Update update) {
45+
UpdateResult result = mongoTemplate.updateMulti(query(criteria), update, MongoBaike.class);
46+
47+
return result.getModifiedCount();
48+
}
49+
50+
public List<MongoBaike> findBaike(Query query, int pageNum) {
51+
52+
List<MongoBaike> list = mongoTemplate.find(query, MongoBaike.class);
53+
return list;
54+
}
55+
56+
public List<MongoBaike> findBaike(Query query) {
57+
List<MongoBaike> list = mongoTemplate.find(query, MongoBaike.class);
58+
59+
return list;
60+
}
61+
62+
public long count(Query query) {
63+
long totalCount = mongoTemplate.count(query, MongoBaike.class);
64+
65+
return totalCount;
66+
}
67+
68+
public MongoBaike updateDict(MongoBaike baike) {
69+
mongoTemplate.save(baike);
70+
71+
return baike;
72+
}
73+
74+
public MongoBaike deleteDict(MongoBaike baike) {
75+
mongoTemplate.remove(baike);
76+
77+
return baike;
78+
}
79+
}

0 commit comments

Comments
 (0)