springboot(三):springboot操作Spring Data JPA

1.创建项目时加上JPA和MySQL

springboot(三):springboot操作Spring Data JPA

2.建表

注意这里的主键设置为自增
springboot(三):springboot操作Spring Data JPA
springboot(三):springboot操作Spring Data JPA

3.实体类

springboot(三):springboot操作Spring Data JPA

4.创建JPA

创建JAP接口以后spring就直接可以通过自动装配的方式使用UserJPA了,并且不需要实现UserJPA就可以进行增删改查。

JpaRepository<UserEntity,Integer>中的UserEntity表示是对UserEntity这个实体的操作,Integer是主键的类型

springboot(三):springboot操作Spring Data JPA

5.编写controller,实现查询所有数据

springdata JPA中的几个操作
1) findAll():查找表中所有记录;
2)findOne(Integer id):按id来查找某一条记录;
3)findByXXX(Object xxx):在这里XXX是一个字段名,根据该字段的值开查找所有记录;
4)save()和delete():添加一条记录以及删除一条记录。
springboot(三):springboot操作Spring Data JPA
增删改查的代码:

 /*
     * @author qianliu on 2019/5/12 21:36
     * @return List<UserEntity> 返回UserEntity实体的list<UserEntity>
     * @Discription:查询所有数据
     */
    @RequestMapping(value = "/list",method = RequestMethod.GET)
    public List<UserEntity> getAll(){
        System.out.println("list");
        return userJPA.findAll();
    }

    /*
     * @author qianliu on 2019/5/12 21:37
     * @param entity 传入一个对象UserEntity
     * @return UserEntity 返回这个UserEntity实体
     * @Discription:更新、添加UserEntity实体
     */
    @RequestMapping(value = "/save",method = RequestMethod.GET)
    public UserEntity save()
    {
        UserEntity entity = new UserEntity("user1",22,"[email protected]");
        return userJPA.save(entity);
    }

    /**
     * 通过id删除用户方法
     * @return
     */
    @RequestMapping(value = "/delete/{id}",method = RequestMethod.GET)
    public List<UserEntity> delete(@PathVariable Long id)
    {
        userJPA.deleteById(id);
        return userJPA.findAll();
    }

6.测试

在网站上直接输入连接测试

springboot(三):springboot操作Spring Data JPA
控制台日志出现
Hibernate: select userentity0_.id as id1_0_, userentity0_.address as address2_0_, userentity0_.age as age3_0_, userentity0_.name as name4_0_ from user userentity0_
springboot(三):springboot操作Spring Data JPA

增添数据出现:Hibernate: insert into user (address, age, name) values (?, ?, ?)
springboot(三):springboot操作Spring Data JPA
springboot(三):springboot操作Spring Data JPA

多加入几条数据以后删除数据:
springboot(三):springboot操作Spring Data JPA

源码:https://github.com/LUK-qianliu/springboot/