SpringDataJpa增刪改查


  • 1.mava依賴
  • <dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-jpa</artifactId>
    <version>1.2.0.RELEASE</version>
    <exclusions>
    <exclusion>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-commons-core</artifactId>
    </exclusion>
    </exclusions>
    </dependency>

     

  • 2.實體類
  • @Entity
    @Table(name="bdsp_storm_manage")
    public class StormManage {
    @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    @Column(name="id",nullable=false)
    private int id;
    @Column(name="kafka_topic",nullable=true)
    private String kafkaTopic;//kafka主題
    @Column(name="output_type",nullable=true)
    private String outputType;//輸出類型
    @Column(name="output_dir",nullable=true)
    private String outputDir;//目錄
    @Column(name="file_head_name",nullable=true)
    private String fileHeadName;//拓撲名稱
    @Column(name="hdfs_url",nullable=true)
    private String hdfsUrl;//hdfsUrl
    @Column(name="enter_topic",nullable=true)
    private String enterTopic;//輸入主題
    @Column(name="storm_name",nullable=true)
    private String stormName;//輸入主題
    @Column(name="state",nullable=true)
    private Integer state;//啟動狀態 0未啟動 1啟動
    @Column(name="main_class",nullable=true)
    private String mainClass;
    @Column(name="file_path",nullable=true)
    private String filePath;//文件路徑
    @Column(name="user_name",nullable=true)
    private String userName;//操作人的姓名
    @Column(name="operate_time",nullable=true)
    private String operateTime;//操作時間
    @Column(name="warn_type",nullable=true)
    private String warnType;//告警方式
    @Column(name="zt",nullable=true)
    private int zt;//是否暫停 0 未暫停 1 暫停
    @Column(name="storm_cluster_id",nullable=true)
    private int stormClusterId;//storm集群id
    @Column(name="myfile_name",nullable=true)
    private String myfileName;//storm上傳文件的名稱
    @Column(name="del_status",nullable=true)
    private int delStatus;//刪除標識0 未刪除 1 已刪除
    @Column(name="del_user",nullable=true)
    private String delUser;//刪除人
    @Column(name="del_time",nullable=true)
    private String delTime;//刪除時間
    
    public int getDelStatus() {
    return delStatus;
    }
    
    public void setDelStatus(int delStatus) {
    this.delStatus = delStatus;
    }
    
    public String getDelUser() {
    return delUser;
    }
    
    public void setDelUser(String delUser) {
    this.delUser = delUser;
    }
    
    public String getDelTime() {
    return delTime;
    }
    
    public void setDelTime(String delTime) {
    this.delTime = delTime;
    }
    
    public String getMyfileName() {
    return myfileName;
    }
    
    public void setMyfileName(String myfileName) {
    this.myfileName = myfileName;
    }
    
    public int getStormClusterId() {
    return stormClusterId;
    }
    
    public void setStormClusterId(int stormClusterId) {
    this.stormClusterId = stormClusterId;
    }
    
    public int getZt() {
    return zt;
    }
    
    public void setZt(int zt) {
    this.zt = zt;
    }
    
    public String getWarnType() {
    return warnType;
    }
    
    public void setWarnType(String warnType) {
    this.warnType = warnType;
    }
    
    public String getFilePath() {
    return filePath;
    }
    
    public void setFilePath(String filePath) {
    this.filePath = filePath;
    }
    
    public String getMainClass() {
    return mainClass;
    }
    
    public void setMainClass(String mainClass) {
    this.mainClass = mainClass;
    }
    
    public Integer getState() {
    return state;
    }
    
    public void setState(Integer state) {
    this.state = state;
    }
    
    public String getStormName() {
    return stormName;
    }
    
    public void setStormName(String stormName) {
    this.stormName = stormName;
    }
    
    public int getId() {
    return id;
    }
    
    public void setId(int id) {
    this.id = id;
    }
    
     
    
    public String getOutputType() {
    return outputType;
    }
    
    public void setOutputType(String outputType) {
    this.outputType = outputType;
    }
    
     
    
    public String getOutputDir() {
    return outputDir;
    }
    
    public void setOutputDir(String outputDir) {
    this.outputDir = outputDir;
    }
    
    public String getFileHeadName() {
    return fileHeadName;
    }
    
    public void setFileHeadName(String fileHeadName) {
    this.fileHeadName = fileHeadName;
    }
    
    public String getHdfsUrl() {
    return hdfsUrl;
    }
    
    public void setHdfsUrl(String hdfsUrl) {
    this.hdfsUrl = hdfsUrl;
    }
    
    public String getKafkaTopic() {
    return kafkaTopic;
    }
    
    public void setKafkaTopic(String kafkaTopic) {
    this.kafkaTopic = kafkaTopic;
    }
    
     
    
    public String getEnterTopic() {
    return enterTopic;
    }
    
    public void setEnterTopic(String enterTopic) {
    this.enterTopic = enterTopic;
    }
    
    public StormManage() {
    }
    
     
    
    public String getUserName() {
    return userName;
    }
    
    public void setUserName(String userName) {
    this.userName = userName;
    }
    
    public String getOperateTime() {
    return operateTime;
    }
    
    public void setOperateTime(String operateTime) {
    this.operateTime = operateTime;
    }
    
    public StormManage(String kafkaTopic, String outputType, String outputDir, String fileHeadName, String hdfsUrl, String enterTopic, String stormName, Integer state, String mainClass, String filePath, String userName, String operateTime, String warnType, int zt, int stormClusterId, String myfileName, int delStatus, String delUser, String delTime) {
    this.kafkaTopic = kafkaTopic;
    this.outputType = outputType;
    this.outputDir = outputDir;
    this.fileHeadName = fileHeadName;
    this.hdfsUrl = hdfsUrl;
    this.enterTopic = enterTopic;
    this.stormName = stormName;
    this.state = state;
    this.mainClass = mainClass;
    this.filePath = filePath;
    this.userName = userName;
    this.operateTime = operateTime;
    this.warnType = warnType;
    this.zt = zt;
    this.stormClusterId = stormClusterId;
    this.myfileName = myfileName;
    this.delStatus = delStatus;
    this.delUser = delUser;
    this.delTime = delTime;
    }
    }

     

  • 3.Repository(幾個常用的例子)
  • @Repository
    public interface StormManageRepository extends JpaRepository<StormManage, Long> {
    
    //根據id刪除StormManage
    @Query(value = "delete from bdsp_storm_manage where id=?1 ", nativeQuery = true)
    @Modifying
    public void deleteStormManageById(int id);
    
    //根據id獲取數據源
    @Query(value = "select * from bdsp_storm_manage where id=?1 ", nativeQuery = true)
    public StormManage findStormManageById(int id);
    
    //修改Storm的state的狀態
    @Query(value = "update bdsp_storm_manage sm set sm.state=?1 where sm.id=?2 ", nativeQuery = true)
    @Modifying
    public void updateStormManageState(int state,int id);
    
    //根據id獲取數據源
    @Query(value = "select * from bdsp_storm_manage where enter_topic=?1 ", nativeQuery = true)
    public List<StormManage> findStormManageByEnterTopic(int enterTopic);
    
    }

     

  • 4.service(幾個常用的例子)
  • @Service
    @Transactional
    public class StormManageService {
    @Resource
    private StormManageRepository stormManageRepository;
    
    /**
    * 存儲StormManage管理(直接調用save方法,如果想修改的話,需要傳一個id)
    * */
    public StormManage saveStormManage(StormManage stormManage){
    StormManage sm=stormManageRepository.save(stormManage);
    return sm;
    }
    
    /**
    * 分頁查詢
    * */
    public Page<StormManage> queryStormBy(Map<String, Object> searchParams, Pageable pageable) {
    Page<StormManage> queryStormBy = null;
    try {
    Map<String, SearchFilter> filters = SearchFilter.parse(searchParams);
    Specification<StormManage> spec = DynamicSpecifications.bySearchFilter(filters.values());
    queryStormBy = stormManageRepository.findAll(spec, pageable);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return queryStormBy;
    }
    
    /**
    * 根據id刪除StormManage
    * */
    public void deleteStormManageById(int id){
    stormManageRepository.deleteStormManageById(id);
    }  
    
    }

     

  • 5.Controller層(主要是分頁查詢)
  • @RequestMapping("/toStormJsp")
    public String toStormJsp(HttpServletRequest request, Model model,@ModelAttribute("id") String id,HttpSession session) {
    try{
    
    Map<String, Object> searchParams = new HashMap<String, Object>();
    StreamUser user=(StreamUser)session.getAttribute("user");
    String superuser=user.getSuperuser();//superuser 0:normal 1:super
    if(superuser.equals("1")){
    searchParams.put("EQ_userName", "");
    }else{
    searchParams.put("EQ_userName",user.getUserName());
    }
    
    Page<StormManage> stormManages = stormManageService.queryStormBy(searchParams, null);
    List<StormManage> findStormManage = new ArrayList<StormManage>();
    for (StormManage dm : stormManages) {
    findStormManage.add(dm);
    }
    
    int page = 0;
    Sort sort = new Sort(Sort.Direction.DESC, "operateTime");//按時間排序
    Pageable pager =new PageRequest(page, pageSize,sort);
    Page<StormManage> page2 = stormManageService.queryStormBy(searchParams, pager);
    List<StormManageDto> pageList = new ArrayList<StormManageDto>();
    
    for (StormManage dm : page2 ) {
      pageList .add(dm);
    }
    int totalRecord=pageList.size();
    int maxResult=10;
    int totalPage = totalRecord % maxResult == 0 ? totalRecord / maxResult : totalRecord / maxResult + 1 ;
    model.addAttribute("totalPage", totalPage);
    model.addAttribute("totalList",totalRecord);
    model.addAttribute("ipage",page+1);
    
     
    
    }catch (Exception e){
    e.printStackTrace();
    logger.info(e.getMessage());
    }
    return "storm/storm";
    }

     

備注:

主要是springDataJpa的增刪改及分頁查詢


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM