当前位置: 首页 > wzjs >正文

郑州高端网站公司淘宝店标在线制作免费

郑州高端网站公司,淘宝店标在线制作免费,软件开发app制作下载,深圳建网站兴田德润优秀简介 本篇文章将以整合JUnit、MyBatis、MyBatis-Plus、Druid的几个例子来总结SpringBoot项目整合第三方技术的技巧,经过学习本篇文章之后,让你能够在使用SpringBoot整合第三方技术的时候能够更加得心应手。文章内容若存在错误或需改进的地方,…

简介

        本篇文章将以整合JUnit、MyBatis、MyBatis-Plus、Druid的几个例子来总结SpringBoot项目整合第三方技术的技巧,经过学习本篇文章之后,让你能够在使用SpringBoot整合第三方技术的时候能够更加得心应手。文章内容若存在错误或需改进的地方,欢迎大家指正!若对操作有任何疑问欢迎留言!非常感谢!

目录

插入知识点:纯净SpringBoot项目所具有的依赖

一、SpringBoot整合JUnit

1、引入依赖

2、使用Spring测试类

3、示例

4、注意事项及排除问题

二、SpringBoot整合MyBatis

1、导入依赖坐标

2、配置相关信息

3、示例

4、问题排查

三、SpringBoot整合MyBatis-Plus

1、导入依赖坐标

2、配置相关信息

3、示例

4、注意事项及排除问题

1、提示找不到junit、SpringBootTest等

2、发生异常:SQLSyntaxErrorException: Table 'demo.student' doesn't exist

四、SpringBoot整合Druid

1、导入坐标依赖

2、配置相关信息

3、示例

五、SpringBoot整合第三方技术总结


插入知识点:纯净SpringBoot项目所具有的依赖

        在创建SpringBoot项目的时候,若不勾选任何依赖,那么SpringBoot项目将默认导入springboot的启步依赖spring-boot-starter和Spring测试起步依赖spring-boot-starter-test。

一、SpringBoot整合JUnit

1、引入依赖

        在创建SpringBoot项目的时候,项目会自动引入Spring测试起步依赖spring-boot-starter-test,而在这个依赖中就已经引入了JUnit的依赖,所以在项目中可以直接使用。

2、使用Spring测试类

        在项目创建之后,可以看到有一个test目录和一个与引导类类名相似的类,这个是项目创建的时候自动创建的一个Spring的测试类,点击在这个类可以看到被@SpringBootTest注解所修饰,有了这个注解,在启动这个类里面的测试方法的时候同时也会启动Spring容器,那么在这个类里面就可以使用有关Spring的一切东西。

3、示例

        可以看到我在applicattion.yaml文件中自定义配置了端口号,然后在测试类中注入了管理属性源的Environment对象,然后通过getProperty方法成功获取到了配置文件中的配置。

4、注意事项及排除问题

        也许会遇到下面这种情况,这种情况是因为test下的包名和类路径java下的包名不一致导致的,也可能是包名一致,但是测试类与Java类不在同一层目录下,而导致测试类找不到配置类或配置文件。原因是测试类会从当前所在包及其父包中寻找@SpringBootConfiguration注解,也会去Java包中的同样的路径下寻找,若没找到就会报下面的错误,可以看到@SpringBootApplication注解中就包含@SpringBootConfiguration注解。

解决办法

        通过报错信息可以看到让使用@ContextConfiguration or @SpringBootTest(classes=...)来解决,那么也就是使用这个方法解决的,第一种可以在测试类的上面添加@ContextConfiguration(classes = 启动类类名.class),第二种是直接在@SpringBootTest注解中指定classes属性值为启动类的字节码对象。若测试类所在类路径与启动类完全一致,那么就可以省略classes属性。最常用的是第二种办法,一般不会使用@ContextConfiguration。

二、SpringBoot整合MyBatis

        因为MyBatis是持久层框架用于操作数据库,所以前提是需要导入数据库的驱动坐标,并连接数据库。下面也会有操作步骤。

1、导入依赖坐标

        在pom种导入mybatis的起步依赖,可以是在创建项目的时候直接勾选导入,也可以在项目中的pom文件中手动导入。并导入数据库驱动依赖坐标。

2、配置相关信息

        在配置文件中配置相关技术所需的信息,这里需要配置相关的数据源,也就连接MySQL。

3、示例

(1)创建表对应的实体类


(2)创建Mapper接口

        注意这里的Mapper接口需要使用@Mapper注解声明。这里还根据MyBatis写了一个根据ID查询数据的方法,等会就将使用这个方法进行测试。


(3)测试

在测试类中注入StudentMapper,然后调用getById接口,查看数据是否正常返回。

4、问题排查

书写过程中可能会报SQLException,然后提示说The server time zone is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTiemzone' configuration property) ... ...。这种情况,这是因为SpringBoot版本太低或者是MySQL驱动版本太低,导致出现了时区问题,那么只需要修改配置文件中的数据库连接信息即可,在url配置的后面加上

?serverTimezone=Asia/Shanghai 即可。

若提示com.mysql.jdbc.Driver驱动类过时,那么就使用com.mysql.cj.jdbc.Driver即可。

三、SpringBoot整合MyBatis-Plus

前提

MyBatis-Plus是在MyBatis上做的增强,仍然是持久层框架用于操作数据库,所以前提是需要导入数据库的驱动坐标,并连接数据库。下面也会有操作步骤。

1、导入依赖坐标

创建项目的时候,在添加依赖时可以搜索MyBatis-Plus,发现并没有,也就代表当前SpringBoot版本并没有收录MyBatis-Plus。解决办法是直接创建一个纯净的SpringBoot工程,然后去Maven坐标库中查找MyBatis-Plus的坐标,复制粘贴导入即可。

2、配置相关信息

在配置文件中配置相关技术所需的信息,这里需要配置相关的数据源,也就连接MySQL。

3、示例

(1)创建表对应的实体类


(2)创建Mapper接口并继承BaseMapper指定泛型为实体类

        注意这里的Mapper接口需要使用@Mapper注解声明且需要继承BaseMapper指定泛型为实体类。


(3)测试

        在测试类中注入StudentMapper,然后调用继承的selectById接口,查看数据是否正常返回。

4、注意事项及排除问题

1、提示找不到junit、SpringBootTest等

现象

        我在程序运行的时候发现程序运行不了,一直提示程序包org.junit.jupiter.api不存在、程序包org.springframework.boot.test.context不存在、找不到SpringBootTest、找不到com.xbb.SpringbootDemo5ApplicationTests。

原因

        发现是我的porject的包设置错了,点击file-Projrect Structure... -Modules可以看到,我是把src包一不小心设置成了Sources,于是就出现了上面的问题。

解决办法

        那么只需要将包的类型设置成默认的即可。

2、发生异常:SQLSyntaxErrorException: Table 'demo.student' doesn't exist

现象

        运行之后出现下面的异常信息,然后运行失败。

原因

        MyBatis会将实体类的类名与表名做映射,如果没有任何配置的话,就会默认类名与表名相同,如果类名和表名不同,就会出现上面找不到表的错误。

解决办法

        下面提供两种解决办法,可以按需使用。

        第一种:在实体类上面添加@TableName("实际对应表名")注解并指定属性为表名。

        第二种:若是因为表名有特殊前缀,那么还可以通过配置文件配置的方式,统一配置前缀即可。但是,类名必须与表名除去前缀之后的部分保持一致,可以忽略大小写。例如表名为user_student,可以设置前缀为user_,那么类名就必须为Student,忽略大小写。

四、SpringBoot整合Druid

前言

        Druid 是阿里巴巴开源的高性能数据库连接池工具,具备监控功能、SQL 注入防御能力,性能优于传统连接池,支持多种数据库,并通过 Filter-Chain 插件机制提供扩展性。Spring Boot 2.x 默认采用 HikariCP,它以轻量级、高性能、自动优化和简单可靠著称。两者对比,HikariCP 性能更优,Druid 监控和安全功能更强;Druid 扩展性高但配置复杂,HikariCP 更简单易用;Druid 在中国市场流行,HikariCP 在国际上更受关注。

1、导入坐标依赖

                创建项目的时候,在添加依赖时可以搜索druid,发现并没有,也就代表当前SpringBoot版本并没有收录druid。解决办法是直接创建一个纯净的SpringBoot工程,然后去Maven坐标库中查找druid的坐标,复制粘贴导入即可。

2、配置相关信息

(1)第一种配置:在原有的spring.datasource配置的基础上指定type属性

(2)第二种配置:使用druid专属的spring配置(推荐)

3、示例

这里连接数据源的工具还是使用的是MyBatis-Plus,然后下面是示例:

(1)创建表对应的实体类

(2)创建Mapper接口并继承BaseMapper指定泛型为实体类

        注意这里的Mapper接口需要使用@Mapper注解声明且需要继承BaseMapper指定泛型为实体类。


(3)测试

        在测试类中注入StudentMapper,然后调用继承的selectById接口,查看数据是否正常返回。

五、SpringBoot整合第三方技术总结

经过上述示例之后,我们可以看到SpringBoot整合第三方技术无非就是两步:

  • 第一步:导入技术相关依赖
    • 若该技术被Spring已收录,那么只需要指定groupId和artifactId即可,版本由Spring管理
    • 若该技术没有被Spring收录,那么就去Maven坐标库中查询相关坐标,然后导入即可
  • 第二部:配置技术需要的配置
    • 推荐:在配置文件中使用当前技术的专属配置进行配置

通过以上两步即可实现SpringBoot整合第三方技术,那么剩下的就是根据技术的特性进行使用了。


文章转载自:

http://CTX5QJmc.pLxhq.cn
http://UZKc9wiL.pLxhq.cn
http://ZlPCF4nn.pLxhq.cn
http://ialnyktP.pLxhq.cn
http://nEnyBpTa.pLxhq.cn
http://abaAg8Bz.pLxhq.cn
http://8JNQA2Y3.pLxhq.cn
http://V6s0MA0p.pLxhq.cn
http://LqAHekoh.pLxhq.cn
http://ANiWvf28.pLxhq.cn
http://DjGIt2ku.pLxhq.cn
http://x0BL1ufq.pLxhq.cn
http://BNShn1XI.pLxhq.cn
http://A4YEVUzS.pLxhq.cn
http://iHn2NAp5.pLxhq.cn
http://KC5cChUr.pLxhq.cn
http://bOCjk9jA.pLxhq.cn
http://bugAs4xA.pLxhq.cn
http://yjlb3Z9L.pLxhq.cn
http://XUvwKFPh.pLxhq.cn
http://D0nNLKPC.pLxhq.cn
http://93zMqmls.pLxhq.cn
http://bagFOsZN.pLxhq.cn
http://61pkfQFa.pLxhq.cn
http://nYWQr9pR.pLxhq.cn
http://Mw4woGmK.pLxhq.cn
http://UiMKEkh7.pLxhq.cn
http://uC4Xdmxh.pLxhq.cn
http://ibmDi9wm.pLxhq.cn
http://QVivXpNs.pLxhq.cn
http://www.dtcms.com/wzjs/724107.html

相关文章:

  • 网站域名需要申请长沙企业网站开发微联讯点
  • 做seo网站 公司网站的建设属于无形资产
  • 湖南专业外贸建站公司网页设计图片居中
  • 网站打开建站公司最新报价
  • 怎样给自己网站做反链网络维护员工作内容
  • 做企业网站需要哪些网站上线需要哪些步骤
  • 浙江网站建设电话北京市昌平建设工程招标网站
  • wap 企业网站中小企业erp系统哪个好
  • 行业 网站 方案做网站怎么才会被百度收录
  • 全球网站排名查询免费下载网站模板
  • 公司做公司网站网络seo优化推广
  • wordpress如何添加一级目录郑州seo使用教程
  • 做网站用什么后缀格式做好网站主体注销
  • 建设网站注册功能网站推广规范
  • 找个人做网站的设计坞在线海报制作
  • 泸西县建设小学网站一个app费用多少钱
  • 微信的微网站是什么农家乐网站源代码
  • 网站开发实战 课程莱芜东风街吧百度贴吧
  • 吉林市建设局网站网站建设中文百
  • 只有域名如何做网站汝州网站建设
  • 企业网站建设该怎么描述中国商品交易网
  • 公司做的网站访问很慢开锁行业在58做网站有活吗
  • 住房和城乡建设部科技发展促进中心网站如何查看网站域名
  • 做网站代运营如何寻找客户工商局官网登录入口
  • 昆明网站建设案例注册集团公司需要什么条件
  • 比较好网站设计公司定制网站设计高端网站建设
  • 重庆工业网站建设php网站源码建设教程
  • 个人网站名字建设银行手机银行官方网站
  • 怎么做网站建设销售哪个网站可以做简历
  • 网站吸流量做请帖的网站