From 852c3b2b614418f2335edee1ee66792b65f64339 Mon Sep 17 00:00:00 2001 From: "yaoyuan1.chu" Date: Tue, 9 Jun 2020 16:58:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E4=BB=A3=E7=A0=81jiscuss?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yaoyuan/jiscuss/JiccussApplication.java | 2 + .../controller/RestServiceController.java | 75 ------------------ .../{ => api}/RestPostController.java | 2 +- .../{ => api}/RestUserController.java | 2 +- .../com/yaoyuan/jiscuss/entity/Staff.java | 31 -------- .../com/yaoyuan/jiscuss/exception/Error.java | 11 --- .../exception/StaffNotFoundException.java | 12 --- .../jiscuss/repository/StaffRepository.java | 20 ----- .../jiscuss/service/IStaffService.java | 25 ------ .../service/impl/StaffServiceImpl.java | 64 --------------- .../service/impl/UsersServiceImpl.java | 79 ++++++++++++++++--- src/main/resources/schema.sql | 18 ++--- 12 files changed, 76 insertions(+), 265 deletions(-) delete mode 100644 src/main/java/com/yaoyuan/jiscuss/controller/RestServiceController.java rename src/main/java/com/yaoyuan/jiscuss/controller/{ => api}/RestPostController.java (97%) rename src/main/java/com/yaoyuan/jiscuss/controller/{ => api}/RestUserController.java (98%) delete mode 100644 src/main/java/com/yaoyuan/jiscuss/entity/Staff.java delete mode 100644 src/main/java/com/yaoyuan/jiscuss/exception/Error.java delete mode 100644 src/main/java/com/yaoyuan/jiscuss/exception/StaffNotFoundException.java delete mode 100644 src/main/java/com/yaoyuan/jiscuss/repository/StaffRepository.java delete mode 100644 src/main/java/com/yaoyuan/jiscuss/service/IStaffService.java delete mode 100644 src/main/java/com/yaoyuan/jiscuss/service/impl/StaffServiceImpl.java diff --git a/src/main/java/com/yaoyuan/jiscuss/JiccussApplication.java b/src/main/java/com/yaoyuan/jiscuss/JiccussApplication.java index d782034..5f38510 100644 --- a/src/main/java/com/yaoyuan/jiscuss/JiccussApplication.java +++ b/src/main/java/com/yaoyuan/jiscuss/JiccussApplication.java @@ -2,8 +2,10 @@ package com.yaoyuan.jiscuss; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cache.annotation.EnableCaching; @SpringBootApplication +@EnableCaching public class JiccussApplication { public static void main(String[] args) { diff --git a/src/main/java/com/yaoyuan/jiscuss/controller/RestServiceController.java b/src/main/java/com/yaoyuan/jiscuss/controller/RestServiceController.java deleted file mode 100644 index 1e4cdc1..0000000 --- a/src/main/java/com/yaoyuan/jiscuss/controller/RestServiceController.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.yaoyuan.jiscuss.controller; - -import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseStatus; -import org.springframework.web.bind.annotation.RestController; - -import com.yaoyuan.jiscuss.entity.Staff; -import com.yaoyuan.jiscuss.exception.Error; -import com.yaoyuan.jiscuss.exception.StaffNotFoundException; -import com.yaoyuan.jiscuss.service.IStaffService; - -@RestController -@RequestMapping(path="/staffRest",produces="application/json;charset=utf-8") -public class RestServiceController { - @Autowired - private IStaffService staffService; - - @ExceptionHandler(StaffNotFoundException.class) - @ResponseStatus(HttpStatus.NOT_FOUND) - public Error staffNotFound(StaffNotFoundException e){ - Integer id=e.getStaffId(); - return new Error(4,"Staff ["+id+"] not found"); - } - - @GetMapping("/{id}") - public Staff staffById(@PathVariable Integer id){ - Staff staff=staffService.findOne(id); - if(staff==null){ - throw new StaffNotFoundException(id); - } - return staff; - } - - @GetMapping - public List getAllStaffs(){ - return staffService.getAllList(); - } - - @PostMapping - public Staff createStaff(Staff staff){ - return staffService.insert(staff); - } - - @PutMapping - public Staff updateStaff(Staff staff){ - return staffService.insert(staff); - } - - @DeleteMapping("/{id}") - public Staff deleteStaffById(@PathVariable Integer id){ - Staff staff=staffService.findOne(id); - if(staff==null){ - throw new StaffNotFoundException(id); - } - staffService.remove(id); - return staff; - } - - @DeleteMapping - public List deleteAllStaffs(){ - List staffList=staffService.getAllList(); - staffService.deleteAll(); - return staffList; - } -} diff --git a/src/main/java/com/yaoyuan/jiscuss/controller/RestPostController.java b/src/main/java/com/yaoyuan/jiscuss/controller/api/RestPostController.java similarity index 97% rename from src/main/java/com/yaoyuan/jiscuss/controller/RestPostController.java rename to src/main/java/com/yaoyuan/jiscuss/controller/api/RestPostController.java index cb508f7..fbb424e 100644 --- a/src/main/java/com/yaoyuan/jiscuss/controller/RestPostController.java +++ b/src/main/java/com/yaoyuan/jiscuss/controller/api/RestPostController.java @@ -1,4 +1,4 @@ -package com.yaoyuan.jiscuss.controller; +package com.yaoyuan.jiscuss.controller.api; import java.util.List; diff --git a/src/main/java/com/yaoyuan/jiscuss/controller/RestUserController.java b/src/main/java/com/yaoyuan/jiscuss/controller/api/RestUserController.java similarity index 98% rename from src/main/java/com/yaoyuan/jiscuss/controller/RestUserController.java rename to src/main/java/com/yaoyuan/jiscuss/controller/api/RestUserController.java index 491d4dc..dd4cd8d 100644 --- a/src/main/java/com/yaoyuan/jiscuss/controller/RestUserController.java +++ b/src/main/java/com/yaoyuan/jiscuss/controller/api/RestUserController.java @@ -1,4 +1,4 @@ -package com.yaoyuan.jiscuss.controller; +package com.yaoyuan.jiscuss.controller.api; import java.util.List; diff --git a/src/main/java/com/yaoyuan/jiscuss/entity/Staff.java b/src/main/java/com/yaoyuan/jiscuss/entity/Staff.java deleted file mode 100644 index 5c5eb1e..0000000 --- a/src/main/java/com/yaoyuan/jiscuss/entity/Staff.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yaoyuan.jiscuss.entity; - - - -import java.io.Serializable; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; - -import lombok.Data; - -@Data -@Entity -@Table(name="staff") -public class Staff implements Serializable { - private static final long serialVersionUID = 1L; - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Integer id; - - @Column(name="name") - private String name; - - @Column(name="age") - private Integer age; -} \ No newline at end of file diff --git a/src/main/java/com/yaoyuan/jiscuss/exception/Error.java b/src/main/java/com/yaoyuan/jiscuss/exception/Error.java deleted file mode 100644 index 77c6217..0000000 --- a/src/main/java/com/yaoyuan/jiscuss/exception/Error.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yaoyuan.jiscuss.exception; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -@AllArgsConstructor -@Getter -public class Error { - private int code; - private String message; -} diff --git a/src/main/java/com/yaoyuan/jiscuss/exception/StaffNotFoundException.java b/src/main/java/com/yaoyuan/jiscuss/exception/StaffNotFoundException.java deleted file mode 100644 index e8d4f1f..0000000 --- a/src/main/java/com/yaoyuan/jiscuss/exception/StaffNotFoundException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.yaoyuan.jiscuss.exception; - -@SuppressWarnings("serial") -public class StaffNotFoundException extends RuntimeException { - private Integer staffId; - public StaffNotFoundException(Integer staffId){ - this.staffId=staffId; - } - public Integer getStaffId(){ - return staffId; - } -} diff --git a/src/main/java/com/yaoyuan/jiscuss/repository/StaffRepository.java b/src/main/java/com/yaoyuan/jiscuss/repository/StaffRepository.java deleted file mode 100644 index 8f9e73d..0000000 --- a/src/main/java/com/yaoyuan/jiscuss/repository/StaffRepository.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.yaoyuan.jiscuss.repository; - - -import java.util.List; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.query.Param; -import org.springframework.stereotype.Repository; - -import com.yaoyuan.jiscuss.entity.Staff; - -@Repository -public interface StaffRepository extends JpaRepository { - @Query("from Staff where name like %:name%") - List getByNameIsLike(@Param("name")String name); - - Staff getById(Integer id); - void deleteById(Integer id); -} diff --git a/src/main/java/com/yaoyuan/jiscuss/service/IStaffService.java b/src/main/java/com/yaoyuan/jiscuss/service/IStaffService.java deleted file mode 100644 index 77b06b8..0000000 --- a/src/main/java/com/yaoyuan/jiscuss/service/IStaffService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yaoyuan.jiscuss.service; - -import java.util.List; - -import org.springframework.data.domain.Page; - -import com.yaoyuan.jiscuss.entity.Staff; - -public interface IStaffService { - List getAllList(); - Page queryAllStaffList(int pageNum,int pageSize); - List getByNameIsLike(String name); - -// @Cacheable("myCache") - Staff findOne(Integer id); - - - Staff insert(Staff staff); - - - void remove(Integer id); - - - void deleteAll(); -} diff --git a/src/main/java/com/yaoyuan/jiscuss/service/impl/StaffServiceImpl.java b/src/main/java/com/yaoyuan/jiscuss/service/impl/StaffServiceImpl.java deleted file mode 100644 index c5d4f8d..0000000 --- a/src/main/java/com/yaoyuan/jiscuss/service/impl/StaffServiceImpl.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.yaoyuan.jiscuss.service.impl; - - - - -import java.util.List; - -import javax.transaction.Transactional; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Pageable; -import org.springframework.data.domain.Sort; -import org.springframework.stereotype.Service; - -import com.yaoyuan.jiscuss.entity.Staff; -import com.yaoyuan.jiscuss.repository.StaffRepository; -import com.yaoyuan.jiscuss.service.IStaffService; - -@Service -@Transactional -public class StaffServiceImpl implements IStaffService { - @Autowired - private StaffRepository staffRepository; - - @Override - public List getAllList() { - return staffRepository.findAll(); - } - - @Override - public Page queryAllStaffList(int pageNum,int pageSize) { - Sort sort=new Sort(Sort.Direction.DESC,"id"); - @SuppressWarnings("deprecation") - Pageable pageable=new PageRequest(pageNum,pageSize,sort); - return staffRepository.findAll(pageable); - } - - @Override - public List getByNameIsLike(String name) { - return staffRepository.getByNameIsLike(name); - } - - @Override - public Staff findOne(Integer id) { - return staffRepository.getById(id); - } - - @Override - public Staff insert(Staff staff) { - return staffRepository.save(staff); - } - - @Override - public void remove(Integer id) { - staffRepository.deleteById(id); - } - - @Override - public void deleteAll() { - staffRepository.deleteAll(); - } -} diff --git a/src/main/java/com/yaoyuan/jiscuss/service/impl/UsersServiceImpl.java b/src/main/java/com/yaoyuan/jiscuss/service/impl/UsersServiceImpl.java index d013168..e3b806c 100644 --- a/src/main/java/com/yaoyuan/jiscuss/service/impl/UsersServiceImpl.java +++ b/src/main/java/com/yaoyuan/jiscuss/service/impl/UsersServiceImpl.java @@ -8,6 +8,8 @@ import java.util.List; import javax.transaction.Transactional; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.CachePut; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; @@ -24,14 +26,23 @@ import com.yaoyuan.jiscuss.service.IUsersService; public class UsersServiceImpl implements IUsersService { @Autowired private UsersRepository usersRepository; - + + /** + * 获取全部用户 + * @return + */ @Cacheable(value = "user") @Override public List getAllList() { return usersRepository.findAll(); } - + /** + * 分页查询 + * @param pageNum + * @param pageSize + * @return + */ @Override public Page queryAllUsersList(int pageNum,int pageSize) { Sort sort=new Sort(Sort.Direction.DESC,"id"); @@ -39,48 +50,90 @@ public class UsersServiceImpl implements IUsersService { Pageable pageable=new PageRequest(pageNum,pageSize,sort); return usersRepository.findAll(pageable); } - + + /** + * 根据名称模糊查询 + * @param name + * @return + */ @Override public List getByUsernameIsLike(String name) { return usersRepository.getByUsernameIsLike(name); } - + + /** + * 根据id查询 + * @param id + * @return + */ + @Cacheable(value = "user", key = "#id") @Override public Users findOne(Integer id) { return usersRepository.getById(id); } - + + /** + * 新增 + * @param user + * @return + */ + @CachePut(value = "user", key = "#user.id") @Override public Users insert(Users user) { return usersRepository.save(user); } - + + /** + * 更新修改 + * @param user + * @param id + * @return + */ + @CachePut(value = "user", key = "#user.id") + @Override + public Users update(Users user, Integer id) { + return usersRepository.saveAndFlush(user); + } + + /** + * 移除 + * @param id + */ + @CacheEvict(value = "user", key = "#id") @Override public void remove(Integer id) { usersRepository.deleteById(id); } - + + /** + * 删除所有 + */ @Override public void deleteAll() { usersRepository.deleteAll(); } + /** + * 根据名称查询 + * @param username + * @return + */ @Override public Users getByUsername(String username) { return usersRepository.getByUsername(username); } - + /** + * 验证用户名密码 + * @param username + * @param password + * @return + */ @Override public Users checkByUsernameAndPassword(String username,String password) { return usersRepository.checkByUsernameAndPassword(username,password); } - @Override - public Users update(Users user, Integer id) { - return usersRepository.saveAndFlush(user); - } - } diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql index dbc2b1b..5ae30d9 100644 --- a/src/main/resources/schema.sql +++ b/src/main/resources/schema.sql @@ -1,10 +1,4 @@ -drop table if exists staff; -CREATE TABLE staff( -id INTEGER not null primary key, -name char(20), -age INTEGER -); - +-- 用户表1 drop table if exists users; CREATE TABLE users( id INTEGER not null primary key auto_increment, @@ -22,7 +16,7 @@ last_seen_time datetime, flag INTEGER, level INTEGER ); - +-- 主题表2 drop table if exists discussions; CREATE TABLE discussions( id INTEGER not null primary key auto_increment, @@ -44,13 +38,13 @@ ip_address varchar(200), create_id INTEGER, create_time datetime ); - +-- 主题标签关联表3 drop table if exists discussionstags; CREATE TABLE discussionstags( discussion_id INTEGER not null , tag_id INTEGER ); - +-- 评论表4 drop table if exists posts; CREATE TABLE posts( id INTEGER not null primary key auto_increment , @@ -68,13 +62,13 @@ is_approved INTEGER, create_id INTEGER, create_time datetime ); - +-- 设置表5 drop table if exists settings; CREATE TABLE settings( key varchar(20) primary key, value text ); - +-- 标签表6 drop table if exists tags; CREATE TABLE tags( id INTEGER not null primary key auto_increment,