spring 版本为4.1.3.RELEASE

一、常用 查询方法

@Query(“select name from Reservation where beautyType = :beautyType AND time BETWEEN :startDate AND :endDate”)

public List<Reservation> findReservations(@Param(“startDate”)Date startDate,@Param(“endDate”)Date endDate ,@Param(“beautyType”)String beautyType);

1、Reservation 为 java中对应的实体类,不是数据库表名。

2、 select 后面 不能跟* 号,应为实体类中属性。

写了个测试类在 主方法(main)中,去测试dao层方法。一直报UncaughtExceptionHandler (暂时不知道原因)

二、更新及删除

/**
 * 更新是否可用标记
* @param id
 * @param status
*/
@Modifying
@Query(“update Corporation set usable = :usable where id = :id”)
public void updateUsableFlag(@Param(“id”)Long id, @Param(“usable”)Boolean usable);

/**
 * 删除
 * @param id
 * @param status
*/
@Modifying
@Query(“delete from Corporation where id in (:ids)”)
public void delete(@Param(“ids”)Long[] ids);

 更新删除要有事务管理有问题请参考

三、排序问题

/**

*查询排序

*查询 字段usable为true按照sortNo字段排序ASC为顺序

*备注:字段sortNo与asc中无at,看到一篇博客中也有at被误导,可能是版本不同导致。

**/

findByUsableTrueOrderBySortNoAsc();

四、HQL与sql原生语句

没有将查询数据转为类而是Object[]的原因是  hql语句问题。两个写法

一、HQL写法

@Query(value=”from LogToIndex group by elkIndex”)

二、sql语法,加上nativeQuery=true

@Query(value=”select *  from log_index_data group by elkIndex”,nativeQuery=true)

五、根据类中外键字段查询

dao.findByCorpCode_codeOrderByOrderBy(corpCode);

CorpCode:对应为类中的外键字段。

_code: 中的code为corpCode外键字段对应类的属性。

版权声明:本文为匿名原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: