zoukankan      html  css  js  c++  java
  • Spring Boot入门系列九(SpringBoot 使用Spring Data JPA 连接Mysql数据库)

    SpringBoot 整合 Spring Data JPA 实现数据库操作的项目

    最近在学习Spring Data JPA的相关知识,感觉还是很不错的,提供了很多方法,包括CRUD和分页排序,基本能够满足现实的功能需求.
    它一共提供了四个接口:

    1. Repository: 仅仅是一个标识,表明任何继承它的均为仓库接口类,方便Spring自动扫描识别
    2. CrudRepository: 继承Repository,实现了一组CRUD相关的方法
    3. PagingAndSortingRepository: 继承CrudRepository,实现了一组分页排序相关的方法
    4. JpaRepository: 继承PagingAndSortingRepository,实现一组JPA规范相关的方法
    5. JpaSpecificationExecutor: 比较特殊,不属于Repository体系,实现一组JPA Criteria查询相关的方法

    一、在mysql中的test库中建立user表,并插入两条数据,为后续做好准备

        

    二、在pom.xml中添加依赖

    <!-- spring data JPA -->
    <dependency>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    

      

    三、建立与数据库表对应的实体OyUser

    /**
     * @author oyc
     * @Description:用户实体类
     * @date 2018/7/8 22:51
     */
    @Entity
    @Table(name = "oy_user")
    public class OyUser {
        //用户id
        @Id
        private String id;
        //用户名称
        private String name;
        //户年龄
        private String age;
        //用户性别
        private String sex;
       //省略了getter和setter方法  
    }
    

      

    四、创建OyUserRepository接口,继承pring Data JPA 的JpaRepository,用于实现对数据库的操作

    /**
     * 用户JPA接口类,继承JPA的JpaRepository,利用Spring Data JPA 的JpaRepository实现数据的操作
     *
     */
    public interface OyUserRepository extends JpaRepository<OyUser,String> {
    }
    

      

    五、创建OyUserServer和OyUserServerImpl

    用户服务接口类OyUserService.java

    /**
     * @author oyc
     * @Title:
     * @Description:用户服务接口类
     * @date 2018/7/1615:06
     */
    public interface OyUserService {
        List<OyUser> getUserList();
    }
    

    用户服务实现类OyUserServiceImpl.java

    /**
     * @author oyc
     * @Description: 用户服务实现类
     * @date 2018/7/1 615:07
     */
    @Service
    public class OyUserServerImpl implements OyUserService {
        /**
         * 依赖注入,注入用户JPA接口类
         */
        @Resource
        private OyUserRepository oyUserRepository;
    
        @Override
        public List<OyUser> getUserList() {
            List<OyUser> list = oyUserRepository.findAll();
            return list;
        }
    }
    

      

      

    六、用户控制类

    /**
     * @author oyc
     * @Title:
     * @Description:用户控制类
     * @date 2018/7/1615:10
     */
    @Controller
    @RequestMapping("/user")
    public class OyUserController {
        /**
         * 依赖注入,注入用户服务类
         */
        @Resource
        private OyUserService oyUserService;
    
        /**
         * 查询用户列表
         * @param model
         * @return
         */
        @RequestMapping("list")
        public String list(ModelMap model){
            List<OyUser> users = oyUserService.getUserList();
            model.addAttribute("users",users);
            return "user";
        }
    }
    

      

    七、测试

      

     源码:https://github.com/oycyqr/SpringBootJPA

    --------------少年不努力,长大搞程序。欢迎关注,如有错误,恳请指正。
  • 相关阅读:
    设置tomcat访问根路径
    关于Java抽象类的理解
    JavaIO
    synchronized关键字
    Java线程池
    Codeforces1478F-Nezzar and Nice Beatmap
    Codeforces1477B-Nezzar and Binary String
    Codeforces1476D Journey
    Codeforces1478D Nezzar and Board
    Codeforces Round #697 (Div. 3)G. Strange Beauty
  • 原文地址:https://www.cnblogs.com/oycyqr/p/9318120.html
Copyright © 2011-2022 走看看