spring date jpa关于jpql的使用注意事项

pom.xml配置

<!-- 添加mysql依赖包 即添加mysql驱动jar包 -->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
</dependency>

<!-- 添加jpa依赖包 jpa-java持久层 spring data是一个开源框架,spring data jpa是这个框架中的一个模块,
	极大的简化了jpa的写法 除了crud以外的分页,排序等方法,只需要接口继承一个类就可实现
 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

一、创建好实体类,编写自己的StuRepository接口 可继承Repository接口
1.Repository是一个空接口,即是一个标记接口;
2. 若我们定义的接口继承了Repository,则该接口会被IOC容器识别为一个Repository Bean纳入到IOC容器中,进而可以在该接口中定义满足一定规范的方法。
3. 实际上也可以通过@RepositoryDefinition,注解来替代继承Repository接口。
4. 查询方法以find | read | get开头;
5. 涉及查询条件时,条件的属性用条件关键字连接,要注意的是条件属性以首字母大写。
6.使用@Query注解可以自定义JPQL语句实现更灵活的查询

@Query("from Student where name=:na")
public Student findByqlName(@Param("na")String name);

注意from后面表名为实体类名,否则会报错** is not mapped
二、编写service层

@Resource
private stu2Repository stu2Rep;	//注入repository
//定义自己的方法
public Student finByqlName(String name) {
	return stu2Rep.findByqlName(name);
}

三、编写controller层,注入service

@RequestMapping("/findqlname")
public Student findByqlName(String name){
	return stuService.finByqlName(name);
}

也可继承CrudRepository接口,其中有很多已提供的方法,也可以自己添加方法进去
@RestController(controller类上)相当于 @Controller 和@ResponseBody(方法上)

猜你喜欢

转载自blog.csdn.net/qq_42019139/article/details/85130634