说明:底层使用Hibernate

一.springDataJPA和mybatisPlus的使用区别

第一步:

把mybatisPlus的依赖、配置删除 包括:实体类的注解、引导类的mapperScan、dao接口的父接口

第二步:

添加启动器

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

第三步:

修改pojo实体类

在类名上添加一个注解@Table(name="表名") 用于表和实体类的映射关系和@Entity //构建关系

在注解上添加一个@Id  表名是主键

@Entity //构建关系

第四步:

修改dao,让Dao的接口继承一个父接口JpaRepository<User,Long>  ,默认就有了CRUD方法

第五步:

修改Service实现类中dao的方法 userDao.selectById(id)

第六步:

引导类上不需要 mapperScan

二.SpringDataJPA的使用步骤

1.    导入依赖

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

完整依赖

<dependencies>
        <!--通过项目模板,已经自动配置上了springmvc启动器,lombok启动器和test启动器-->
        <!--项目模板自动配置 开始-->
       
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--项目模板自动配置 结束-->

<!--配置springboot整合mybatis 开始-->
        <!--配置mybatis 开始-->
<!--        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
           
<artifactId>mybatis-spring-boot-starter</artifactId>
           
<version>2.0.1</version>
        </dependency>-->
        <!-- 通用mapper -->
        <!--<dependency>-->
            <!--<groupId>com.baomidou</groupId>-->
           
<!--<artifactId>mybatis-plus-boot-starter</artifactId>-->
           
<!--<version>3.1.2</version>-->
       
<!--</dependency>-->
       
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

<!--配置mybatis 结束-->
        <!--配置jdbc 开始-->
            <!--spring中的jdbc连接和事务是配置中的重要一环,在SpringBoot中该如何处理呢?
            我们只要找到SpringBoot提供的启动器即可:
             -->
       
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!--配置jdbc 结束-->
        <!--配置mysql 开始-->
       
<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!--配置mysql 结束-->
        <!--配置Druid连接池 开始-->
       
<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.6</version>
        </dependency>
        <!--配置Druid连接池 结束-->
        <!--配置springboot整合mybatis 结束-->
   
</dependencies>

2.   
引导类

package com.ahd;

  import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class SpringbootDemo02Application {    public static void main(String[] args) {
      SpringApplication.run(SpringbootDemo02Application.class, args);
   } }

3.    实体类

package com.ahd.pojo;

  import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date; /*@Data   //lombok的注解,在工程编译时自动为实体类添加上get,set,...方法
@TableName("tb_user")  //告诉对应的数据库表的名字*/
@Table(name="tb_user")
@Entity
public class User {
    // id
//    @TableId //
告诉 谁是主键
   
@Id
    private Long id;
    // 用户名
   
private String userName;
    // 密码
   
private String password;
    // 姓名
   
private String name;
    // 年龄
   
private Integer age;
    // 性别,1男性,2女性
   
private Integer sex;
    // 出生日期
   
private Date birthday;
    // 创建时间
   
private Date created;
    // 更新时间
   
private Date updated;
    // 备注
   
private String note;
}

4.    dao层

package com.ahd.dao;

  import com.ahd.pojo.User;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserDao extends JpaRepository<User,Long> {//添加泛型,告知通用Mapper实体类是谁 }

5.    application.yml配置文件

spring:
  datasource:
    type:
com.alibaba.druid.pool.DruidDataSource
    username: root
    url: jdbc:mysql:///saas-export-96
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
#mybatis:
#  configuration:
#    map-underscore-to-camel-case: true
#  type-aliases-package: com.ahd.pojo
#  mapper-locations: /mapper/**

SpringBoot_04springDataJPA的更多相关文章

随机推荐

  1. 与HTTP协作的Web服务器——代理、网关、隧道

    1.虚拟主机 (1)HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点: (2)在互联网上,域名通过DNS服务映射到IP地址(域名解析)之后访问目标网站,即当请求发送到服务器时,已经是以IP ...

  2. PISCES: A Programmable, Protocol-Independent Software Switch

    Name of article:PISCES: A Programmable, Protocol-Independent Software Switch Origin of the article:S ...

  3. windows 安装 Mongodb 数据库及操作图形化软件 Robo 3T

    1 下载系统对应的正确 Mongodb 和 Robo 3T 版本 2 选中 Mongodb 需要安装的路径(后续会使用路径) 3 启动 Mongodb 服务器(到安装相关的路径) 可以参考 菜鸟教程 ...

  4. Codechef SEAARC Sereja and Arcs (分块、组合计数)

    我现在真的什么都不会了呢...... 题目链接: https://www.codechef.com/problems/SEAARC 好吧,这题其实考察的是枚举的功力-- 题目要求的是\(ABAB\)的 ...

  5. 【机器学习速成宝典】模型篇04k近邻法【kNN】(Python版)

    目录 什么是k近邻算法 模型的三个基本要素 构造kd树 kd树的最近邻搜索 kd树的k近邻搜索 Python代码(sklearn库) 什么是K近邻算法(k-Nearest Neighbor,kNN) ...

  6. hadoop stop-dfs.sh 无法停止 namenode datanode

    原因: HADOOP_PID_DIR 默认为 /tmp 目录,如果长期不访问/tmp/目录下的文件,文件会被自动清理,因此 stop-dfs.sh 无法根据 pid 停止 namenode, data ...

  7. 十四、RF中SSHLibrary库介绍

    A.安装SSHLibrary:   pip2 install robotframework-sshlibrary   (导入SSHLibrary) B.远程连接linux服务器 1.#连接linux服 ...

  8. lua源码学习篇四:字节码指令

    在llimits.h文件中定义了指令的类型.其实就是32个字节. typedef lu_int32 Instruction; 上节说到变量最终会存入proto的数组k中,返回的索引放在expdesc ...

  9. spotlight监控linux性能

    linux性能监控有很多工具,spotlight只是其中一种 目录 1.安装spotlight 2.参数认识 1.安装spotlight spotlight不仅仅只是监控linux,还可以完成数据库以 ...

  10. 【Linux 应用编程】文件IO操作 - 常用函数

    Linux 系统中的各种输入输出,设计为"一切皆文件".各种各样的IO统一用文件形式访问. 文件类型及基本操作 Linux 系统的大部分系统资源都以文件形式提供给用户读写.这些文件 ...