• Spring boot jpa 底层封装


    pom:

    <!-- https://mvnrepository.com/artifact/javax.persistence/javax.persistence-api -->
    <dependency>
    <groupId>javax.persistence</groupId>
    <artifactId>javax.persistence-api</artifactId>
    <version>2.2</version><!--$NO-MVN-MAN-VER$-->
    </dependency>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <!--百度搜索-->

    1.BaseDao

    import org.springframework.data.jpa.repository.JpaRepository;
    import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
    import org.springframework.data.repository.NoRepositoryBean;

    @NoRepositoryBean
    public interface BaseRepo<T> extends JpaRepository<T,Integer>,JpaSpecificationExecutor<T>{

    }

    2.BaseEntity

    import java.io.Serializable;
    import javax.persistence.MappedSuperclass;

    @MappedSuperclass
    public class BaseEntity implements Serializable
    {
    private static final long serialVersionUID = 5316912770609152144L;

    }

    3.BaseService

    import javax.annotation.Resource;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import javax.persistence.criteria.CriteriaBuilder;
    import javax.persistence.criteria.CriteriaQuery;
    import javax.persistence.criteria.Predicate;
    import javax.persistence.criteria.Root;
    import org.springframework.data.jpa.domain.Specification;
    import org.springframework.transaction.annotation.Transactional;

    /**
    * 底层封装Service
    * 提供一些基本操作
    * @author x_luwl
    *
    */
    @Transactional(rollbackFor = Exception.class)
    public class BaseService<T extends BaseRepo<D>, D extends BaseEntity> {

    private T dao;

    protected void setDao(T dao) {
    this.dao = dao;
    }
    public T getDao() {
    return this.dao;
    }

    @Resource
    @PersistenceContext
    private EntityManager entityManager;

    }

  • 相关阅读:
    记一次线上Kafka消息堆积踩坑总结
    golang Time to String
    转MongoDB 使用Skip和limit分页
    golang mongodb (mgo)插入或读取文档的字段值为空(nil)问题解决
    Golang 中操作 Mongo Update 的方法
    基础知识
    Linux安全之SSH 密钥创建及密钥登录
    ssh配置authorized_keys后仍然需要输入密码的问题
    SSH隧道技术----端口转发,socket代理
    社会信息化环境下的IT新战略
  • 原文地址:https://www.cnblogs.com/Sora-L/p/9365026.html
Copyright © 2020-2023  润新知