说明:底层使用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/** 知识兔 |