package com.dao; import com.entity.ForumEntity; import com.baomidou.mybatisplus.mapper.BaseMapper; import java.util.List; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.pagination.Pagination; import org.apache.ibatis.annotations.Param; import com.entity.vo.ForumVO; import com.entity.view.ForumView; /** * 解疑论坛 * * @author * @email * @date 2021-02-05 09:40:21 */ public interface ForumDao extends BaseMapper<ForumEntity> { List<ForumVO> selectListVO(@Param("ew") Wrapper<ForumEntity> wrapper); ForumVO selectVO(@Param("ew") Wrapper<ForumEntity> wrapper); List<ForumView> selectListView(@Param("ew") Wrapper<ForumEntity> wrapper); List<ForumView> selectListView(Pagination page,@Param("ew") Wrapper<ForumEntity> wrapper); ForumView selectView(@Param("ew") Wrapper<ForumEntity> wrapper); }
时间: 2024-02-29 13:55:41 浏览: 99
这段代码是一个Java接口,定义了对解疑论坛的数据库操作。它继承了MyBatis-Plus的BaseMapper接口,可以直接调用一些基础的增删改查方法。除此之外,它还定义了一些自定义的查询方法,如selectListVO、selectVO、selectListView和selectView等。这些方法可以通过传入Wrapper对象来实现条件查询。其中,selectListView方法还支持分页查询。此外,这个接口还引入了一些实体类,如ForumEntity、ForumVO和ForumView等,它们分别对应了论坛的数据库表、查询结果集和查询视图。
相关问题
package org.example.application.custom.dao; import org.example.application.common.base.BaseDAO; import org.example.application.custom.dao.jpa.FreeRepository; import org.example.application.custom.dao.mapper.FreeMapper; import org.example.application.custom.entity.Free; import org.example.application.custom.form.FreeForm; import org.example.application.system.entity.SysUser; import org.springframework.data.domain.PageRequest; import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Component; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; import java.util.ArrayList; import java.util.List; import java.util.Objects; @Component public class FreeDAO extends BaseDAO { private final FreeMapper mapping; private final FreeRepository repository; public FreeDAO(FreeMapper mapping, FreeRepository repository) { this.mapping = mapping; this.repository = repository; } public Iterable<Free> queryList(FreeForm form, PageRequest page) { Specification<Free> specifications = new Specification<Free>() { @Override public Predicate toPredicate(Root<Free> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) { final List<Predicate> predicateList = new ArrayList<>(); if (Objects.nonNull(form)) { if (Objects.nonNull(form.getUser())) { predicateList.add(criteriaBuilder.equal(root.get("user"), form.getUser())); } if (Objects.nonNull(form.getUserList()) && !form.getUserList().isEmpty()) { predicateList.add(criteriaBuilder.in(root.get("user")).value(form.getUserList())); } } Predicate[] predicates = predicateList.toArray(new Predicate[0]); return criteriaQuery.where(predicates).getRestriction(); } }; return repository.findAll(specifications, page); } public Free findById(String id) { return repository.findById(id).get(); } public void delete(String id) { // mapping.deleteById(id); mapping.deleteFlagById(id); } public void save(Free entity) { repository.saveAndFlush(entity); } public void deleteByUser(SysUser user) { repository.deleteByUser(user); } }
这是一个 Java 类,命名为 FreeDAO,它位于 org.example.application.custom.dao 包下。该类使用了 Spring Data JPA 实现的 BaseDAO 类,并且注入了 FreeMapper 和 FreeRepository 对象。FreeDAO 类中有一些方法,例如 queryList、findById、delete、save 和 deleteByUser,它们用来进行数据操作。其中,queryList 方法接收 FreeForm 和 PageRequest 两个参数,返回一个 Iterable 类型的 Free 对象集合。该方法使用了 Specification 接口来动态构建查询条件,并使用 Repository 接口的 findAll 方法进行查询。findById 方法接收一个字符串类型的 id 参数,返回对应的 Free 对象。delete 方法和 save 方法分别用于删除和保存 Free 对象。deleteByUser 方法接收一个 SysUser 对象参数,用于删除指定用户相关的 Free 对象。
package com.student_sys.dao; import com.student_sys.entity.CourseApply; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; @Mapper public interface CourseApplyDao { CourseApply getById(Integer id); List<CourseApply> listAll(CourseApply courseApply); List<CourseApply> listByEntity(CourseApply courseApply); CourseApply getByEntity(CourseApply courseApply); List<CourseApply> listByIds(List<Integer> list); int insert(CourseApply courseApply); int insertBatch(List<CourseApply> list); int update(CourseApply courseApply); int updateByField(@Param("where") CourseApply where, @Param("set") CourseApply set); int updateBatch(List<CourseApply> list); int deleteById(Integer id); int deleteByEntity(CourseApply courseApply); int deleteByIds(List<Integer> list); int countAll(); int countByEntity(CourseApply courseApply); }
这段代码是一个基于MyBatis框架的Java接口,用于操作课程申请数据表。其中定义了一系列方法,包括通过id获取课程申请、获取所有课程申请、通过实体获取课程申请、获取指定id列表的课程申请、新增课程申请、批量新增课程申请、更新课程申请、按条件更新课程申请、批量更新课程申请、删除指定id的课程申请、按条件删除课程申请、批量删除指定id的课程申请、获取所有课程申请数量、按条件获取课程申请数量等。该接口使用了@Mapper注解,表示这是一个MyBatis的Mapper接口。
阅读全文
相关推荐
















