kitty项目
項目地址
https://gitee.com/liuge1988/kitty
?
一些收獲
?
1、baseEntity
其他實體繼承
?
2、同樣的crud service 也可以寫個base 然后繼承
?
public interface CurdService<T> {int save(T record);int delete(T record);int delete(List<T> records);T findById(Long id);PageResult findPage(PageRequest pageRequest); }?
?
這里用的是接口,實際上,現在主張去掉inteface ,service直接class
?
3、Mysql 備份還原
MySQL備份還原工具類
import java.io.File; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController;import com.louis.kitty.backup.constants.BackupConstants; import com.louis.kitty.backup.datasource.BackupDataSourceProperties; import com.louis.kitty.backup.service.MysqlBackupService; import com.louis.kitty.backup.util.FileUtils; import com.louis.kitty.backup.util.HttpResult;/*** 系統數據備份還原* 采用MYSQL備份還原命令* @author Louis* @date Sep 20, 2018*/ @RestController @RequestMapping("/backup") public class MySqlBackupController {@AutowiredMysqlBackupService mysqlBackupService;@AutowiredBackupDataSourceProperties properties;@GetMapping("/backup")public HttpResult backup() {String host = properties.getHost();String userName = properties.getUserName();String password = properties.getPassword();String database = properties.getDatabase();String backupFodlerName = BackupConstants.DEFAULT_BACKUP_NAME+ "_" + (new SimpleDateFormat(BackupConstants.DATE_FORMAT)).format(new Date());String backupFolderPath = BackupConstants.BACKUP_FOLDER + backupFodlerName + File.separator;String fileName = BackupConstants.BACKUP_FILE_NAME;try {mysqlBackupService.backup(host, userName, password, backupFolderPath, fileName, database);} catch (Exception e) {return HttpResult.error(500, e.getMessage());}return HttpResult.ok();}@GetMapping("/restore")public HttpResult restore(@RequestParam String name) {String host = properties.getHost();String userName = properties.getUserName();String password = properties.getPassword();String database = properties.getDatabase();String restoreFilePath = BackupConstants.RESTORE_FOLDER + name;try {mysqlBackupService.restore(restoreFilePath, host, userName, password, database);} catch (Exception e) {return HttpResult.error(500, e.getMessage());}return HttpResult.ok();}@GetMapping("/findRecords")public HttpResult findBackupRecords() {List<Map<String, Object>> backupRecords = new ArrayList<>();File restoreFolderFile = new File(BackupConstants.RESTORE_FOLDER);if(restoreFolderFile.exists()) {for(File file:restoreFolderFile.listFiles()) {Map<String, Object> bean = new HashMap<>();bean.put("name", file.getName());bean.put("title", file.getName());if(BackupConstants.DEFAULT_BACKUP_NAME.equals(file.getName())) {bean.put("title", "系統默認備份");}backupRecords.add(bean);}}return HttpResult.ok(backupRecords);}@GetMapping("/delete")public HttpResult deleteBackupRecord(@RequestParam String name) {if(BackupConstants.DEFAULT_BACKUP_NAME.equals(name)) {return HttpResult.error("系統默認備份無法刪除!");}String restoreFilePath = BackupConstants.RESTORE_FOLDER + name;try {FileUtils.deleteFile(new File(restoreFilePath));} catch (Exception e) {return HttpResult.error(500, e.getMessage());}return HttpResult.ok();}} View Code?
4、springboot 配置druid mybaits 以及sql監控
?
5、跨域的配置
?
/*** 跨域配置* @author Louis* @date Oct 29, 2018*/ @Configuration public class CorsConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**") // 允許跨域訪問的路徑.allowedOrigins("*") // 允許跨域訪問的源.allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE") // 允許請求方法.maxAge(168000) // 預檢間隔時間.allowedHeaders("*") // 允許頭部設置.allowCredentials(true); // 是否發送cookie } }?
轉載于:https://www.cnblogs.com/lyon91/p/9890764.html
總結
- 上一篇: Codeforces 786 A. Be
- 下一篇: LTSC版本