说明:底层使用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/**
|
随机推荐
- pyinstaller打包的exe太大?你需要嵌入式python玄学
pyinstaller打包一个exe动辄几十M几百M (特别是import pandas以后) 知乎上居然没有人po这方面的”知识“(手动狗头) 查了很多关于reduce pyinstaller打包出 ...
- BZOJ 1859 Luogu P2589 [ZJOI2006]碗的叠放 (计算几何)
woc, 13年前的ZJOI就这么毒瘤的嘛... 题目链接: (bzoj)https://www.lydsy.com/JudgeOnline/problem.php?id=1859 (luogu)ht ...
- Spring Cloud Config教程(五)客户端使用
要在应用程序中使用这些功能,只需将其构建为依赖于spring-cloud-config-client的Spring引导应用程序(例如,查看配置客户端或示例应用程序的测试用例).添加依赖关系的最方便的方 ...
- iOS 消息转发以及 NSProxy 实战
最后更新: 2018-01-17 一.消息派发机制-NSObject 在 iOS 开发中, 调用对象的方法就是给对象发送一个消息.了解消息的派发机制对于iOS开发来说是一个很实用且强大的工具, 下面我 ...
- sqli-labs(25a)
0X01 看见bind好像是盲注的意思 尝试闭合语句 加入’ 报错 双引号也报错 难道是不许要闭合的? 我们尝试一下 发现过滤了and ?id= and = 那么我们构造 ?id= aandnd = ...
- 移动开发与PC开发区别
移动开发领域与PC 开发得区别,总结为:3低, 3高,3有限.开发移动程序是应该时刻记住这9个限制. 3低 低处理能力 低分辨率 低速的数据传输能力 ...
- 使用tushare获取股票实时分笔数据延时有多大
使用tushare获取股票实时分笔数据延时有多大 前几天分享了一段获取所有股票实时数据的代码,有用户积极留言,提出一个非常棒的问题:如果数据本生的延时非常严重,通过代码获取数据再快又有什么用呢? 一直 ...
- Jmeter之Synchronizing Timer(同步集合点)
在性能测试时,需要压测并发,此时就需要用到Synchronizing Timer组件. 一.界面显示 二.配置说明 1.名称:标识 2.注释:备注 3.Grouping (1.Number of si ...
- App测试工具选择
一.功能测试自动化 a) 轻量接口自动化测试: jmeter, b) APP UI层面的自动化 android:UI Automator Viewer,Android Junit,Instrument ...
- Python学习之==>网络编程
一.什么是网络编程 使用Python进行网络编程,就是通过Python打开一个网站,或者请求一个http接口.可以通过标准模块urllib实现,也可以通过更简单易用的第三方模块requests实现. ...