日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

部门微服务:基本dao和service代码编写

發布時間:2024/4/13 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 部门微服务:基本dao和service代码编写 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.learn.domain.company;import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import java.io.Serializable; import java.util.Date;/*** (Department)實體類*/ @Entity @Table(name = "co_department") //@Data //@AllArgsConstructor //@NoArgsConstructor public class Department implements Serializable {private static final long serialVersionUID = -9084332495284489553L;//ID@Idprivate String id;/*** 父級ID*/private String pid;/*** 企業ID*/private String companyId;/*** 部門名稱*/private String name;/*** 部門編碼,同級部門不可重復*/private String code;/*** 負責人ID*/private String managerId;/*** 負責人名稱*/private String manager;/*** 介紹*/private String introduce;/*** 創建時間*/private Date createTime;public static long getSerialVersionUID() {return serialVersionUID;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getPid() {return pid;}public void setPid(String pid) {this.pid = pid;}public String getCompanyId() {return companyId;}public void setCompanyId(String companyId) {this.companyId = companyId;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getManagerId() {return managerId;}public void setManagerId(String managerId) {this.managerId = managerId;}public String getManager() {return manager;}public void setManager(String manager) {this.manager = manager;}public String getIntroduce() {return introduce;}public void setIntroduce(String introduce) {this.introduce = introduce;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}@Overridepublic String toString() {return "Department{" +"id='" + id + '\'' +", pid='" + pid + '\'' +", companyId='" + companyId + '\'' +", name='" + name + '\'' +", code='" + code + '\'' +", managerId='" + managerId + '\'' +", manager='" + manager + '\'' +", introduce='" + introduce + '\'' +", createTime=" + createTime +'}';} } package com.learn.company.dao;import com.learn.domain.company.Department; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;/*** 部門dao接口*/ public interface DepartmentDao extends JpaRepository<Department,String> ,JpaSpecificationExecutor<Department> { } package com.learn.company.service;import com.learn.common.service.BaseService; import com.learn.common.utils.IdWorker; import com.learn.company.dao.DepartmentDao; import com.learn.domain.company.Department; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service;import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; import java.util.List;@Service public class DepartmentService extends BaseService {@Autowiredprivate DepartmentDao departmentDao;@Autowiredprivate IdWorker idWorker;/*** 1.保存部門*/public void save(Department department) {//設置主鍵的值String id = idWorker.nextId()+"";department.setId(id);//調用dao保存部門departmentDao.save(department);}/*** 2.更新部門*/public void update(Department department) {//1.根據id查詢部門Department dept = departmentDao.findById(department.getId()).get();//2.設置部門屬性dept.setCode(department.getCode());dept.setIntroduce(department.getIntroduce());dept.setName(department.getName());//3.更新部門departmentDao.save(dept);}/*** 3.根據id查詢部門*/public Department findById(String id) {return departmentDao.findById(id).get();}/*** 4.查詢全部部門列表*/public List<Department> findAll(String companyId) {/*** 用戶構造查詢條件* 1.只查詢companyId* 2.很多的地方都需要根據companyId查詢* 3.很多的對象中都具有companyId**/ // Specification<Department> spec = new Specification<Department>() { // /** // * 用戶構造查詢條件 // * root :包含了所有的對象數據 // * cq :一般不用 // * cb :構造查詢條件 // */ // public Predicate toPredicate(Root<Department> root, CriteriaQuery<?> cq, CriteriaBuilder cb) { // //根據企業id查詢 // return cb.equal(root.get("companyId").as(String.class),companyId); // } // };return departmentDao.findAll(getSpec(companyId));}/*** 5.根據id刪除部門*/public void deleteById(String id) {departmentDao.deleteById(id);} } package com.learn.common.service;import org.springframework.data.jpa.domain.Specification;import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root;public class BaseService<T> {protected Specification<T> getSpec(String companyId) {Specification<T> spect = new Specification() {@Overridepublic Predicate toPredicate(Root root, CriteriaQuery criteriaQuery, CriteriaBuilder cb) {//根據企業id查詢return cb.equal(root.get("companyId").as(String.class),companyId);}};return spect;} } <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>ihrm_parent</artifactId><groupId>com.ihrm</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>ihrm_common</artifactId><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency></dependencies> </project>

?

總結

以上是生活随笔為你收集整理的部门微服务:基本dao和service代码编写的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。