zoukankan      html  css  js  c++  java
  • spring boot如何整合springdatajpa

    一、JPA是什么

      JPA(Java Persistence API)是Sun官方提出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面,

      而spring-data-jpa是对于jpa的一个封装概念提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率!

    二、如何使用整合

      1、导入maven依赖

    <!-- 整合spring-boot-starter-data-jpa -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
            <!--mysql数据库连接对象-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>

      2、编写数据库的连接信息,文件命名为application.properties

    #DB Configation
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/users
    spring.datasource.username=
    spring.datasource.password=
    # JPAConfiguration
    spring.jpa.database=MySQL
    spring.jpa.show-sql=true
    spring.jpa.generate-ddl=true

      3、创建数据库中对应的实体类

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @ToString
    @Entity
    @Table(name = "users")
    public class User {
        @Id     //定义主键
        @GeneratedValue(strategy = GenerationType.IDENTITY) //主键自增规则
        private int uid;
        private String uname;
        private String pwd;
    }

    @Entity注解:jpa可直接根据entity创建表

    @Table注解:name属性为表名

    这里我使用了lombok插件,对应maven,如何使用在这就不叙说。

    <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.8</version>
                <scope>provided</scope>
            </dependency>

      4、dao层(为了示例,直接从congtroller调用的dao层,未写service层)

    继承JpaRepository:是PagingAndSortingRepository的子接口,增加了一些实用的功能,比如:批量操作等;泛型中使用的是当前实体类对象,以及其数据库表中的主键的引用数据类型

    public interface UserDao extends JpaRepository<User,Integer> {
    
    }

      5、在controller层使用该接口的代理类对象

    @Autowired
        private UserDao userDao;
    @RequestMapping("getList")
        public List<User> getList(){
            return userDao.findAll();
        }

    三、dao层的方法使用

    通过该代理类对象调用该接口的实现类方法。通过内在默认的方法可以实现。

  • 相关阅读:
    一些点子的梳理
    网络安全解决方案
    流量劫持技术
    运营商DNS系统安全解决方案
    安卓工作室 设置每次启动 选择项目,不直接打开项目
    多臂机测试, AB测试
    vue 入门
    web开发 入门
    C# .NET 使用第三方类库DotNetZip解压/压缩Zip文件
    Linq 101 工具和源码
  • 原文地址:https://www.cnblogs.com/guanyuehao0107/p/11800351.html
Copyright © 2011-2022 走看看