| 
                         控制台打印出来的 sql 语句类似下面这样: 
- drop table if exists person 
 - CREATE TABLE `person` ( 
 -   `id` bigint(20) NOT NULL AUTO_INCREMENT, 
 -   `age` int(11) DEFAULT NULL, 
 -   `name` varchar(255) DEFAULT NULL, 
 -    PRIMARY KEY (`id`) 
 - ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
 - alter table person add constraint UK_p0wr4vfyr2lyifm8avi67mqw5 unique (name) 
 
  
4.创建操作数据库的 Repository 接口 
- @Repository 
 - public interface PersonRepository extends JpaRepository<Person, Long> { 
 - } 
 
  
首先这个接口加了 @Repository 注解,代表它和数据库操作有关。另外,它继承了  JpaRepository接口,而JpaRepository长这样: 
- @NoRepositoryBean 
 - public interface JpaRepository<T, ID> extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T> { 
 -     List<T> findAll(); 
 -  
 -     List<T> findAll(Sort var1); 
 -  
 -     List<T> findAllById(Iterable<ID> var1); 
 -  
 -     <S extends T> List<S> saveAll(Iterable<S> var1); 
 -  
 -     void flush(); 
 -  
 -     <S extends T> S saveAndFlush(S var1); 
 -  
 -     void deleteInBatch(Iterable<T> var1); 
 -  
 -     void deleteAllInBatch(); 
 -  
 -     T getOne(ID var1); 
 -  
 -     <S extends T> List<S> findAll(Example<S> var1); 
 -  
 -     <S extends T> List<S> findAll(Example<S> var1, Sort var2); 
 - } 
 
  
这表明我们只要继承了JpaRepository 就具有了 JPA 为我们提供好的增删改查、分页查询以及根据条件查询等方法。 
4.1 JPA 自带方法实战 
1) 增删改查 
1.保存用户到数据库 
- Person person = new Person("SnailClimb", 23); 
 -    personRepository.save(person); 
 
  
save()方法对应 sql 语句就是:insert into person (age, name) values  (23,"snailclimb") 
2.根据 id 查找用户 
- Optional<Person> personOptional = personRepository.findById(id); 
 
  
findById()方法对应 sql 语句就是:select * from person p where p.id = id 
3.根据 id 删除用户 
- personRepository.deleteById(id); 
 
  
deleteById()方法对应 sql 语句就是:delete from person where id=id 
4.更新用户                         (编辑:我爱故事小小网_铜陵站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |