Spring data jpa HQL @Query 自定义查询及更新删除 及 sql写法

来源:互联网 发布:金融入门书 知乎 编辑:程序博客网 时间:2024/06/13 02:20

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外键字段对应类的属性。

2 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 王者荣耀太卡了怎么办 想卖王者号qq怎么办 小米4电视发热严重怎么办 三星玩王者荣耀卡怎么办 华为麦芒5网络差怎么办 华为麦芒无线信号不好怎么办 华为麦芒6网络不好怎么办 华为麦芒6信号差怎么办 华为手机无线网信号差怎么办 华为麦芒6数据信号差怎么办 华为麦芒54g信号差怎么办 华为手机wifi信号差怎么办 华为手机导航信号弱怎么办 华为手机gps信号弱怎么办 麦芒5指纹消失了怎么办 华为应用锁密码忘了怎么办 华为麦芒5密码忘了怎么办 华为卡1无服务怎么办 经常卡1无服务怎么办 华为手机进水无服务怎么办 苹果手机进水后无服务怎么办 苹果6进水无服务怎么办 华为手机突然无服务怎么办 sim卡显示无服务怎么办 华为麦芒进水无限开关机怎么办 华为麦芒5进水黑屏怎么办 华为麦芒6进水了怎么办 4g手机开不开机怎么办 全屏钢化膜总是翘边怎么办 华为麦芒屏幕触屏失灵怎么办 华为麦芒5运行慢怎么办 手机屏保密码忘记了怎么办 麦芒5密码锁忘了怎么办 超薄手机壳松了怎么办 华为麦芒5声音小怎么办 笔记本外壳a面裂了怎么办 苹果手机外壳摔坏了怎么办 挂衣服肩膀出包怎么办 摩拜单车手机号注销了怎么办 摩拜单车手机号码换了怎么办 摩拜单车换手机号码打不开怎么办