1.jpa的数据操作接口
package com.lzq.jpa.entity.repository;
import com.lzq.jpa.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
- Created by qiang on 2018/1/22.
*/
public interface UserRepository extends JpaRepository
/**
相当于 select *from user where name=?
@param name
@return
*/
public List
/**
相当于select *from user where name like ?
但是有一点需要注意的是,%需要我们自己来写
@param name
@return
*/
public List
/**
相当于select *from user where name not like ?
但是有一点需要注意的是,%需要我们自己来写
@param name
@return
*/
public List
/**
相当于 select *from user where name <> ?
@param name
@return
*/
public List
/**
相当于 select *from user where id in (?)
@param ids
@return
*/
public List
/**
相当于 select *from user where id not in ()
@param ids
@return
*/
public List
/**
相当于 select *from user where name=? order by height desc
@param name
@return
*/
public List
/**
相当于 select *from user where name=? order by height asc
@param name
@return
*/
public List
/**
相当于 select *from user where name is null
@return
*/
public List
/**
相当于 select *from user where name is not null
@return
*/
public List
/**
相当于 select *from user where name =? and height=?
@param name
@param height
@return
*/
public List
/**
相当于 select *from user where name =? or height=?
@param name
@param height
@return
*/
public List
/**
相当于 select *from user where height between ? and ?
需要注意的是mysql是有包含两个端点值的
@param start
@param end
@return
*/
public List
/**
相当于 select *from user where height < ?
需要注意的是mysql是没有包含端点值的
@param less
@return
*/
public List
/**
相当于 select *from user where height > ?
需要注意的是mysql是没有包含端点值的
@param greater
@return
*/
public List
}
具体语法规则和对应的sql都在代码中给出来了,这边需要和大家说的是UserRepository接口的特点。我们通过继承JpaRepository《对应的实体类,主键属性值》来编写findBy等相关的函数来查询数据库。继承JpaRepository的接口在使用的时候,通过@Autowired会自动创建接口的实现类,不需要怎么去实现这个接口,这也是jpa最方便的地方。