码迷,mamicode.com
首页 > 编程语言 > 详细

spring boot如何整合springdatajpa

时间:2019-11-05 18:40:57      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:ram   frame   ted   driver   数据库   mys   实体类   div   art   

一、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层的方法使用

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

 

spring boot如何整合springdatajpa

标签:ram   frame   ted   driver   数据库   mys   实体类   div   art   

原文地址:https://www.cnblogs.com/guanyuehao0107/p/11800351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!