7.17暑期项目实训
今天完成后后端部分接口
主要解决的问题有spring boot+jpa使用复杂的语句查询。
代表语句有
@Query(nativeQuery = true,value = "SELECT distinct student.account,student.name from student_course,student WHERE student_course.account = student.account AND student_course.c_id=?1 ") //原生SQL方法
public List<Object> findStudentsByCid(int c_id);
@Transactional//delete和update对应要加的注解
@Modifying
@Query(nativeQuery = true,value = "DELETE FROM student_course WHERE c_id=?1 AND account=?2 ") //原生SQL方法
public void removeByc_idAndaccount(int c_id,String account);
查询和添加语句写的比较顺利,但是删除语句写完后报错,大概内容是说delete不能使用excuteQuery方法(立马回忆起来jdbc连MySQL手写查询的时候是分为两个方法的一个是excuteQuery另一个是excute方法,前者用于查询和添加后者用于删除和更改),之后一直查询解决的办法。
---------两个小时后
因为中间经过很多排查,加上服务器端和本地来回切换浪费了不少时间
终于在一个博客里找到了这两句话
@Transactional//delete和update对应要加的注解
@Modifying
ps:有些博客说把第一条加在service层里对应的地方,我没写service直接上了controller不知道可不可以
反正找到之后,感觉是可以的
一运行,果然ok
美滋滋,这样后端基本的语句都可以写了,就是一些简单的重复工作了