手把手搭建springboot项目,并测试springDataJPA
创始人
2024-02-01 18:54:21
0

这篇文章记录了搭建springboot项目并测试springDataJPA的过程,接下来一起看看吧。

1.访问阿里云java脚手架网站

点击访问

2.按照下图勾选并获取代码

在这里插入图片描述

在这里插入图片描述

3.将获取到的代码解压到idea工作空间。

下图的JPAdemo就是我的项目
在这里插入图片描述

4.打开idea,导入项目

在这里插入图片描述

5.在pom文件中添加JPA相关依赖

org.springframework.bootspring-boot-starter-data-jpa

mysqlmysql-connector-java

在这里插入图片描述

6.在application.properties中添加配置

如果发现application.properties中文乱码,就更改下图所示的地方
在这里插入图片描述
添加如下配置:

# 数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/jpa_test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# JPA配置
spring.jpa.properties.hibernate.hbm2ddl.auto=create
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
# SQL输出
spring.jpa.show-sql=true
# format 下SQL输出
spring.jpa.properties.hibernate.format_sql=true

在这里插入图片描述
配置说明:
1)spring.jpa.properties.hibernate.hbm2ddl.auto:该配置比较常用,配置实体类维护数据库表结构的具体行为。当服务首次启动时会在数据库中生成相应的表,后续启动服务时,如果实体类有增加属性就会在数据中添加相应字段,原来的数据仍然存在。
update:常用的属性,表示当实体类的属性发生变化时,表结构跟着更新。
create:表示启动时删除上一次生成的表,并根据实体类重新生成表,之前表中的数据会被清空。
create-drop:表示启动时根据实体类生成表,但是当sessionFactory关闭时表会被删除。
validate:表示启动时验证实体类和数据表是否一致。
none:什么都不做。
2)spring.jpa.show-sql:表示hibernate在操作时在控制台打印真实的SQL语句,便于调试。
3)spring.jpa.properties.hibernate.format_sql:表示格式化输出的JSON字符串,便于查看。
4)spring.jpa.properties.hibernate.dialect:指定生成表名的存储引擎为InnoDB。

7.根据上面的配置信息,创建一个数据库。

创建数据库,可以参考这篇文章:创建数据库命令
如果没有按照mysql数据库,先安装一下mysql。
创建数据库也可以使用可视化客户端创建,更加简单方便。如DBeaver
在这里插入图片描述

8.创建实体类

package com.yangjunbo.JPADemo.pojo;import javax.persistence.*;@Entity
@Table(name = "Users")
public class User {@GeneratedValue(strategy= GenerationType.IDENTITY)@Idprivate Long id;@Column(length = 64)private String name;@Column(length = 64)private String password;private int age;public User(){}public User(String name, String password, int age) {this.name = name;this.password = password;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void setId(Long id) {this.id = id;}public Long getId() {return id;}
}

在这里插入图片描述

9.启动项目

启动项目,可以看到输出如下图
在这里插入图片描述
系统启动后自动连接数据库,创建数据表结构,并打印出执行的SQL语句。如果查看数据库,可以看到数据库中对应的Users表也创建成功了,说明项目已经成功集成JPA并创建实体表。
在这里插入图片描述

10.测试增删改查功能

1.先创建一个UserRepository类

package com.yangjunbo.JPADemo.repository;import com.yangjunbo.JPADemo.pojo.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;@Repository
public interface UserRepository extends JpaRepository {}

在这里插入图片描述

2.创建UserRepositoryTest测试类

package com.yangjunbo.JPADemo;import com.yangjunbo.JPADemo.pojo.User;
import com.yangjunbo.JPADemo.repository.UserRepository;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;import javax.annotation.Resource;@RunWith(SpringRunner.class)
@SpringBootTest
public class UserRepositoryTest {@Resourceprivate UserRepository userRepository;@Testpublic void testSave(){User user = new User("yaogunxia","123456",40);userRepository.save(user);}@Testpublic void testUpdate() {User user = userRepository.findById(1L).get();user.setPassword("12345678");userRepository.save(user);}@Testpublic void testDelete() {User user = new User("yaogunxia","12345678",40);userRepository.delete(user);}@Testpublic void testSelect() {userRepository.findById(1L);}
}

在这里插入图片描述

3.执行测试方法验证数据是否插入更新删除查询。

参考书籍:《springboot从入门到实战-章为忠著》

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...