springboot支付项目之springboot集成jpa
springboot集成spring-jpa
本文主要内容:
1:spring boot怎么集成spring-jpa以及第一个jpa查询示例
如jpa几个常用注解、lombok注解使用
2:怎么设置idea中在pom中添加依赖的时候自动联想。
3:集成过程中遇到的问题及解决.如mysql时区问题、jpa懒加载问题。
我们遵从MVC三层模式,DAO层设计与开发、Service层设计与开发以及Controller层。
我们先来DAO层设计开发,Spring boot项目基础框架创建这里就省略。
本文出自:凯哥Java(kaigejava)
《spring boot支付项目》。凯哥个人博客:www.kaigejava.com
一:相关jar依赖添加
因为使用到了mysql,在POM.XML文件中引入mysql相关jar及操作数据库相关的。这里我们使用的是spring-jpa来操作数据库。具体jra如下:
<!-- mysql 相关的依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- jpa相关依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-></artifactId>
</dependency>
在教大家一个idea怎么在pom文件中输入坐标时候联想,如下图:在输入atrifactid的时候可以联想到,如下图:
操作:file-->settings界面,依次找到:build,execution,Deployment-->Bulid Tools-->maven-->Repositories.如下图:
点击更新就可以了。
二:数据库连接配置。这里我们使用的是yml格式的。配置如下图:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://localhost/springboot-wxpay?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
jpa:
show-sql: true
说明:
spring.jpa.show-sql=true.这句意思是:打印sql语句。
在url后面添加serverTimeizone=UTC是为了解决时区错误的问题。
三:创建实体及测试
3.1:创建ProductCategory实体对象。使用spring-jpa方式:
说明:
@Entity:spring-jpa实体注解
@Data: lombok注解用于自动生产get/set方法的
@Id:jpa的主键注解
@GeneratedValue:注解生成策略
3.2:创建repository接口对象
说明:使用jpa的需要继承Jparepository这个对象(有多个,这里就用简单的)
其中泛型,我们查看源码:
T:实体对象的。也就是我们上面创建的ProductCategory对象
ID:实体对象的ID类型。我们使用的事Integer类型。所以这里就写Integer。
四:创建测试类,进行测试:
在IDEA中,创建测试类快捷键:选中类名之后,ctrl+shift+t。如下图:
运行结果:
在控制台上,我们可以看到hibernate打印的sql语句以及打印出查询的结果。说明springboot继承jpa成功。
如果出现could not initialize proyx的时候,如下图错误:
在实体上面添加@Proxy(lazy = false)
说明:@ToString 是直接添加toString方法的。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Kafka分区副本与RocketMQ队列的区别
最近在学习Kafka,发现其核心概念与 RocketMQ 还是存在一定的差别,下面我来说下 Kafka 分区 与 RocketMQ 队列之间的区别。 RocketMQ 队列 RocketMQ 每个主题都会有若干个队列,分布于集群中各个 broker 上,分布规律如下: 队列会在 broker 中抽象成一个 consumer queue,在集群模式下,每个队列每个消费组只能存在一个消费者进行订阅消费,但是一个消费者可以消费多个队列,这也保证了在集群模式下消息不会被重复消费,如下图所示: 在RocketMQ开源版本中,在创建主题时,通过集群创建模式,指定主题在集群中的队列数量,比如集群中有 2 个 broker,我们创建主题时选择队列数量为 4,就会在每个 broker 中为该主题创建 4 个 队列,那么该主题在集群中就会有 4 * 2 个队列数量,这里有个不好的地方就是无法精确控制队列数量,但这个问题不大。 RocketMQ 是通过主从模式实现消息的冗余,在生产环境中,也会采取多 Master 多 Slave 模式搭建集群,主从之间的队列数据同步有同步复制和异步复制两种。 因此,Roc...
- 下一篇
elasticsearch集群扩容和容灾
一、集群健康 Elasticsearch的集群监控信息中包含了许多的统计数据,其中最为重要的一项就是集群健康,它在 status 字段中展示为 green 、 yellow 或者 red。在kibana中执行:GET /_cat/health?v 1 epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent2 1568794410 08:13:30 my-application yellow 1 1 47 47 0 0 40 0 - 54.0% 其中我们可以看到当前我本地的集群健康状态是yellow ,但这里问题来了,集群的健康状况是如何进行判断的呢? green(很健康) 所有的主分片和副本分片都正常运行。yellow(亚健康) 所有的主分片都正常运行,但不是所有的副本分片都正常运行。red(不健康) 有主分片没能正常运行。 注意:我本地只配置了一个单节点的elastic...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Red5直播服务器,属于Java语言的直播服务器