解决方案 »
- 有更快捷方法吗?JAVA加密-BigDecimal
- 你们好,我的MyEclipse 6.0没有org.sprintframework库咋办呀?
- hibernate问题
- 求助!关于Tomcat6.0虚拟目配置和启动问题
- struts2标签的问题
- struts+hibernate中关于VO与PO的调用
- 发布到tomcat时,java程序未编译,在WEB-INF/classes中没有.class文件 急~急~~急~~!!!!
- 用JBuilder把EJB发布成Web Service是出错,大家来看看为什么?
- resin的session问题~
- ==== Struts做文件上传下载相关问题 ====
- Blob.getBytes 的问题,急急急急急急!!!!
- 考勤无小事
@Component
public interface TaskDao extends PagingAndSortingRepository<Task, Long>, JpaSpecificationExecutor<Task> { Page<Task> findByUserId(Long id, Pageable pageRequest); @Modifying
@Query("delete from Task task where task.user.id=?1")
void deleteByUserId(Long id);
}public Page<Task> getUserTask(Long userId, Map<String, Object> searchParams, int pageNumber, int pageSize,
String sortType) {
PageRequest pageRequest = buildPageRequest(pageNumber, pageSize, sortType);
Specification<Task> spec = buildSpecification(userId, searchParams); return taskDao.findAll(spec, pageRequest);
} /**
* 创建分页请求.
*/
private PageRequest buildPageRequest(int pageNumber, int pagzSize, String sortType) {
Sort sort = null;
if ("auto".equals(sortType)) {
sort = new Sort(Direction.DESC, "id");
} else if ("title".equals(sortType)) {
sort = new Sort(Direction.ASC, "title");
} return new PageRequest(pageNumber - 1, pagzSize, sort);
} /**
* 创建动态查询条件组合.
*/
private Specification<Task> buildSpecification(Long userId, Map<String, Object> searchParams) {
Map<String, SearchFilter> filters = SearchFilter.parse(searchParams);
filters.put("user.id", new SearchFilter("user.id", Operator.EQ, userId));
Specification<Task> spec = DynamicSpecifications.bySearchFilter(filters.values(), Task.class);
return spec;
}
帮你贴了一部分springside源码 看用的上不,或者看看从这里面悟出些道道不
这个里面的参数具体怎么传啊。我是要TIME between *** and *** and name= *** 怎么传值进去。。
这个里面的参数具体怎么传啊。我是要TIME between *** and *** and name= *** 怎么传值进去。。
package com.mediaadx.dynamix.authority.dao;import java.util.List;import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;import com.mediaadx.dynamix.account.entity.UserAccount;
import com.mediaadx.dynamix.authority.entity.Security;public interface ISecurityDAO extends PagingAndSortingRepository<Security, Long> { Page<Security> findByUserNameLike(String name, Pageable pageable);
}
注意里面使用Page,Pageable是spring的类,Security是个entity里面有属性user<UserAccount>,UserAccount里面有个name<String>
这个里面的参数具体怎么传啊。我是要TIME between *** and *** and name= *** 怎么传值进去。。
public interface UserRepository extends CrudRepository<User,Integer>{//继承你需要的接口
User findByNameAndTimeBetween(String name,Date startDate,Date endDate);//在这里声明一下你需要的接口,当然,这个接口名得按照框架的规范来写。有的接口里已经存在的方法了,就不需要声明了。@Query( " select u from User u where u.firstname = ? " )
List < User > findByFirstname(String firstname);//当然,如果实在满足不了你的需求,你也可以这样来自己写查询语句
//那个分页的,dao层的接口要继承这个PagingAndSortingRepository接口,然后直接调用方法传参数就可以了,实在不懂的加我qq吧,173636035
}
接口名的规范: