实现步骤
1、导入jpa依赖
<dependencies>
<!--jpa依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>
2、配置数据源&JPA
例:
application.yml
spring:
# 配置数据源
datasource:
# 数据库驱动
driver-class-name: com.mysql.cj.jdbc.Driver
# 数据库连接地址
url: jdbc:mysql:///employees?useUnicode=true&serverTimezone=UTC&characterEncoding=utf8&useSSL=true
# 密码
username: root
# 用户名
password: root
jpa:
hibernate:
ddl-auto: update # none : 默认值,表示不对数据库表进行任何操作和验证
show-sql: true # true 表示 是否显示sql,false表示不显示
properties:
hibernate:
jdbc:
batch_size: 50 # batch中允许多少条待执行的sql
use_sql_comments: true # 使用sql注释
format_sql: true # 格式化SQL,如果不加,SQL输出不换行,不方便查看
# 配置数据库方言
database-platform: org.hibernate.dialect.MySQL8Dialect
application.properties
# 配置数据源
# 数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 数据库连接地址
spring.datasource.url=jdbc:mysql:///employees?useUnicode=true&serverTimezone=UTC&characterEncoding=utf8&useSSL=true
# 用户名
spring.datasource.username=root
# 密码
spring.datasource.password=root
# 配置JPA
# 配置数据库方言
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
# 配置ddl-auto属性,该属性有三个取值。分别如下:
# none: 默认值,不对数据库表进行任何操作和验证
# create: 没表会自动创建表,会清空表数据(慎用)
# update: 没表会自动创建表,不会清空表数据
spring.jpa.hibernate.ddl-auto=update
# 配置properties
# * hibernate.jdbc.batch_size: 表示batch中允许多少条待执行的sql,默认为15
# * hibernate.use_sql_comments : 表示是否使用sql注释
# * hibernate.format_sql : 表示是否对sql语句进行格式化
spring.jpa.properties.hibernate.jdbc.batch_size=50
# 是否使用sql注释
spring.jpa.properties.hibernate.use_sql_comments=true
# 是否显示sql(show-sql)&格式化sql(format_sql)通常同时出现,目的:优化/美化Console控制台中sql语句的输出
# 是否显示sql
spring.jpa.show-sql=true
# 是否格式化sql
spring.jpa.properties.format_sql=true
上面两种,根据实际需要任选一种即可
注意事项:
1、Mysql驱动的版本应该和MySQLxDialect保持一致,x表示你的Mysql驱动的版本。
例:若你的Mysql驱动的版本是8,那就应该对应MySQL8Dialect

3、创建实体类User
@Entity
@Table(name = "tb_user")
@ToString
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class User implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) // ID自增长
@Column(name = "id",insertable = false,updatable = false)
private Integer id;
@Column(name = "username",columnDefinition = "varchar(200) not null")
private String username;
@Column(name = "idCard",unique = true,table = "tb_user",nullable = false,length = 255)
private String idCard;
@Column(name = "wage",precision = 12,scale = 2)
private Double wage;
@Column(name = "email")
private String email;
}
4、编写数据访问层Mapper接口,并继承JPaRepository<实体类,主键id类型>接口
public interface UserMapper extends JpaRepository<User,Integer> {}
5、创建测试类,定义测试方法,进行测试
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringDataJpaQuickStartApplication.class)
public class UserMapperTest {
@Autowired
private UserMapper userMapper;
@Test
public void testSave() throws Exception {
// 构建User对象
User user = User.builder()
.email("javadever@foxmail.com") // 邮箱
.idCard("429005199801010878")// 身份证号
.id(1)// 主键id
.username("Java码农ing") // 用户名
.wage(12000.23) // 工资
.build();
// 调用数据访问层方法
userMapper.save(user);
}
}
效果截图:

以上就完成了SpringBootJPA的快速入门,觉得小编写的不错的话,给小编点个赞哦,我们下期再见!
关注下方小编的公众号,更多精彩等着你哦

263

被折叠的 条评论
为什么被折叠?



