在使用SpringBoot构建后台应用时,你可以使用@Entity注解定义表单数据库。根据查询相关公开信息,在@Entity中定义需要存储的实体对象名称、所属类以及每个字段的相关属性,另外,你还可以使用JPA来构建数据库,JPA会自动帮你生成表单数据库。
环境:
SpringBoot 201
使用SpringBoot开发时,可以通过Maven将工程打成jar包,jar包内嵌Tomcat,这种方式SpringBoot工程将在启动的时候,带动Tomcat的启动,下面分析SpringBoot如何带动Tomcat启动
一个简单的SpringBoot工程启动类
跟进 SpringApplication#run 方法
如果对Spring的启动流程有了解的话,应该知道Spring启动过程中,最重要的就是 AbstractApplicationContext#refresh() 过程,在这个方法中Spring执行了BeanFactory的初始化,Bean的实例化、属性填充、初始化 *** 作等等重要的 *** 作,该方法主要逻辑如下:
仔细观察这个方法,可以发现其中调用了几个空方法,这里应用了 模板模式 ,在 refresh 方法中定义了主干执行流程,并留有空的方法给子类做个性化定制
现在开始,通过debug来看看SpringBoot如何启动Tomcat容器
前面构造 SpringApplicaton 时,已经推断出当前Web工程类型,当开始执行 #run 方法时,会根据不同类型的Web项目创建不同类型的ApplicationContext
创建好 ApplicationContext 之后,看到 refreshContext(context) ,联系本文开头Spring启动的 AbstractApplicationContext#refresh 方法,该方法其实就是触发了后者的执行
执行 refreshContext 方法,来到前面根据 webApplicationType 创建的容器类 ServletWebServerApplicationContext
进入到 TomcatServletWebServerFactory ,可以看到如下启动内置Tomcat的过程
至此,Tomcat继承Spring的 AbstractApplicationContext 类,覆盖它的模板方法 onRefresh ,SpringBoot在自身启动的过程中,启动了内置的Tomcat服务器
1pomxml
2yml文件配置
3访问
启动项目,访问druid管理页面- localhost:8080/druid/loginhtml,登录的用户名和密码,我在yml配置成test,所以用test登录就行,登录后页面如下:
在写接口的过程中,通过会从数据库表中查询数据或将数据插入到数据库中,而如何将查询出的数多个数据存放到变量中使用呢,本篇文章主要是针对在SpringBoot框架中,将xml中的sql语句查询得到的数据存入变量。
在SpringBoot框架中,通常都是在Mapper中调用xml文件,sql语句都是在xml文件中写的,而不是在Java代码中直接利用connection连接数据库进行查询,这样层次更清晰,代码也更容易维护,例如:
SpringBoot框架的Mapper层中会写方法名以及入参:
String findSubsidiaryEmail(CustomerServiceInvalidBO customerServiceInvalidBO);
需要。
1、在宝塔面板上,左侧选择数据库,添加数据库,访问权限要选择所有人。
2、接下来就是将本地的数据库转储,然后在宝塔的数据库上再进行导入。
3、上传完成关闭即可。
JPA全称为Java Persistence API(Java持久层API),它是Sun公司在JavaEE 5中提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具,来管理Java应用中的关系数据,JPA吸取了目前Java持久化技术的优点,旨在规范、简化Java对象的持久化工作。很多ORM框架都是实现了JPA的规范,如:Hibernate、EclipseLink。
Spring Data JPA旨在通过减少实际需要的工作量来显著改善数据访问层的实现。它在JPA的基础上做了一些封装,可以轻松实现基于JPA的存储库。 此模块处理对基于JPA的数据访问层的增强支持。 它使构建使用数据访问技术的Spring驱动应用程序变得更加容易。
需要注意的是JPA统一了Java应用程序访问ORM框架的规范
JPA为我们提供了以下规范:
以上的定义引用自网络技术文章,我还在不断理解与学习中,我们先来Demo一个例子:
5分钟入手Spring Boot
>
如果当前方法的执行上下文中已经打开了事务,那么就使用当前这个事务。
如果当前没有事务,就创建一个新的。
如果多个方法都声明了 REQUIRED ,并且他们嵌套调用,那么他们会共享同一个物理事务。就是 inner 产生了回滚,那么 outer 会跟着回滚。
Outer bean
Inner bean
inner 声明了 REQUIRED ,并抛出了异常,outer 事务将同样回滚,因为他们是同一个事务。
声明 REQUIRES_NEW 的话就会创建一个新的物理事务,内层事务的提交回滚都是独立于外层事务的。外层事务不受内层事务结果的影响,他们运行于独立的物理事务。
Outer bean
Inner bean
inner 的回滚不影响 outer 的事务。当 inner 事务开启后,outer 事务会暂停,当 inner 事务结束后,outer 事务恢复。
NESTED 使嵌套的事务使用相同的物理事务,但是对嵌套调用设置了保存点,所以 inner 事务可以独立于 outer 事务回滚。
支持事务,如果当前存在事务,就沿用当前事务,如果不存在,则继续采用无事务的方式运行。
必须使用事务。如果当前没有事务,则会抛出异常,如果存在当前事务,就沿用当前事务。
不支持事务,当前存在事务时,将挂起事务,运行方法。
不支持事务,如果当前方法存在事务,则抛出异常,否则继续使用无事务机制运行。
参考:
>
Java单体项目里,我们一般是只需配置一个数据库,这时代码里的dao层都是只对一个数据库 *** 作;但有时候我们的数据可能在2个或者3个数据库,这时就需要配置更多数据源,进行数据库直连 *** 作,下面以MySQL的两个库为例(Oracle也就换个驱动类与连接串)。
(本文阅读大概花费两分钟)
技术条件:
springboot 253 (即springframework 539)
MySQL 57
mybatis-plus 350
dynamic-datasource 350
druid 129
idea开发工具、maven 339
1、导入相关依赖
2、建立两个数据库mydb(表 user)、db2(表t_class),并分别建一张表
3、编写applicationyaml配置文件
4、编写po类、dao层、一个接口测试类
其中,在dao的类加上对应的数据源标识符,使用此注解combaomidoudynamicdatasourceannotationDS
5、启动项目,查看结果
至此,多数据源环境集成成功;当然这里只使用了查询功能,对应事务相关的下一回合文章再做讨论啥。
以上就是关于springboot后台怎么自定义表单数据库全部的内容,包括:springboot后台怎么自定义表单数据库、SpringBoot与Tomcat的启动(内嵌Tomcat)、Springboot集成druid数据库连接池等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)