Spring Boot常见配置及错误

一、SpringBoot常见配置

(1)SpingBoot与MyBatis集成时跟踪SQL语句

(2)日志跟踪

(3)MyBatis集成:

Mapper所在路径不需要配置,系统会自动扫描 与Application同级及以下的所有目录,同时对应的Spring也不需要配置

二、常见错误

(1)SpringBoot与MyBatis集成

A.ResultMap与ResultType导致的问题

如上情况当ResultMap与ResultType混用时,会出现java.lang.ClassNotFoundException错误,此时对应的解决方案如下:

1、按照上述思路,统一换成ResultMap;

2、在定义resultMap的名字时,按照首字母小写的方式来命名。上例中为:sampVo;

MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap.

resultType是直接表示返回类型的(对应着我们的model对象中的实体),

resultMap则是对外部ResultMap的引用(提前定义了db和model之间的隐射key–>value关系),但是resultType跟resultMap不能同时 存在。

在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。

①当提供的返回类型属性是resultType时,MyBatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。所以其实MyBatis的每一个查询映射的返回类型都是ResultMap,只是当提供的返回类型属性是resultType的时候,MyBatis对自动的给把对应的值赋给resultType所指定对象的属性。

②当提供的返回类型是resultMap时,因为Map不能很好表示领域模型,就需要自己再进一步的把它转化为对应的对象,这常常在复杂查询中很有作用

注:select语句中不能同时使用resultType和resultMap

ResultMap:组装数据库中结果与实体对象的映射关系(将数据库中查询出来的结果映射给实体类)

column:表中字段名;property:实体类的属性名

ResultType:查询结果不需要映射时使用resultType

个人总结:表中定义create_time,类中createTime,返回值类型为resultMap,如果用resultType,那么createTime字段的值为NULL.

当使用ResultType进行输出映射时,只有查询出来的列名和pojo的属性名一致,该列才可以映射成功;

如果查询出来的列名和pojo中的属性名全部不一致,没有创建pojo对象;

只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象;

B.#与$区别

${name}原样替换,#{name}是带单引号,占位符

like ‘% %’在mybatis中应当写成like ‘%${name}%’而不是’%#{name}%’

Original: https://www.cnblogs.com/moonandstar08/p/7599248.html
Author: moonandstar08
Title: Spring Boot常见配置及错误

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/540509/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • RabbMQ

    RabbitMQ基本概念 Broker: 简单来说就是消息队列服务器实体 Exchange: 消息交换机,它指定消息按什么规则,路由到哪个队列 Queue: 消息队列载体,每个消息…

    Java 2023年6月13日
    049
  • Java高并发27-ThreadPoolExecutor原理剖析(1)

    类图 线程池的好处: (1)性能好;(2)工厂方法便捷创建线程,个数自定义指定 类图描述 Excutors其实是一个工具类,ThreadPoolExecutor继承了Abstrac…

    Java 2023年6月13日
    087
  • CentOS 7替换默认软件源

    安装CentOS 7后,默认源在国外,可以替换为国内的源以提升访问速度 参考https://mirrors.ustc.edu.cn/help/centos.html sudo vi…

    Java 2023年6月13日
    068
  • 使用Spring容器动态注册和获取Bean

    有时候需要在运行时动态注册Bean到Spring容器,并根据Bean名称或者类型获取注册的Bean。本文旨在介绍通过Spring容器获得这个能力。 有时候需要在运行时动态注册Bea…

    Java 2023年6月5日
    0103
  • 【笔记整理】SpringBoot集成腾讯云短信

    前言 记录一下最近使用SpringBoot基础腾讯云里的短信产品功能的体验。 1、腾讯云申请开通短信服务。 2、配置短信内容:分别创建签名、模板和群发短信。 3、使用SpringB…

    Java 2023年6月5日
    081
  • IK-Analyzer(5.3.1)动态配置自定义词典

    参考文献:http://blog.csdn.net/fatpanda/article/details/37911079 jar包: IK-Analyzer-extra-5.3.1….

    Java 2023年6月7日
    074
  • MySQL

    数据库:英文单词DataBase,简称DB。按照一定格式存储数据的一些文件的组合。顾名思义是存储数据的仓库,实际上就是一堆文件,这些文件中存储了具有特定格式的数据 数据库管理系统:…

    Java 2023年6月6日
    059
  • Mysql和Oracle数据库死锁查看以及解决

    1.1 锁事务查询 1.1.1 查看正在锁的事务 SQL : SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 1.1.2 查看等待锁的…

    Java 2023年6月8日
    0159
  • if elseif else 怎么用?

    问题:求三个数中的最大值 上代码– 第一种 两两比较 每次取较大值 和第三个值比较 最终得到最大值 private static void maxIf2() { int…

    Java 2023年6月8日
    074
  • 什么?入门链表后你还在栈堆里徘徊?

    大家好,我是melo,一名大二上软件工程在读生,经历了一年的摸滚,现在已经在工作室里边准备开发后台项目啦不过这篇文章呢,还是想跟大家聊一聊数据结构与算法,学校也是大二上才开设了数据…

    Java 2023年6月5日
    086
  • SpringMVC实战入门教程,四天带你快速搞定springmvc框架

    SpringMVC 也叫Spring web mvc。是Spring 框架的一部分,是在Spring3.0 后发布的。 这里对SpringMVC框架进行一个简单的介绍: sprin…

    Java 2023年6月9日
    071
  • J Spring Framework- Integration 集成

    Spring提供了使用多种技术实现远程访问支持的集成类。远程访问支持使得具有远程访问功能的服务开发变得相当简单, 远程方法调用(RMI)。通过使用RmiProxyFactoryBe…

    Java 2023年5月29日
    083
  • java计算两个字符串日期的相差天数

    封装方法: private static Long calcBetweenDays(String a, String b) { SimpleDateFormat simpleDat…

    Java 2023年5月29日
    075
  • JAVAWEB开发之JSTL标签库的使用、 自己定义EL函数、自己定义标签(带属性的、带标签体的)

    JSTL JSTL简单介绍: JSTL的全称:JSP Standard Tag Library,JSP标准标签库 JSTL的作用: 提供给Java Web开发者一个标准通用的标签函…

    Java 2023年5月29日
    077
  • 基于Python来获取用户手机设备使用情况

    前言 本博客为模式识别作业的记录,实现批感知器算法、Ho Kashyap算法和MSE多类扩展方法,可参考教材[ 1 ] \color{#0000FF}{[1]}[1 ]。所用数据如…

    Java 2023年6月7日
    085
  • java中ftpClient.listFiles()结果为空问题解决方案

    问题描述 连接ftp读取路径下文件列表为空 查到方案 java项目中用到ftpClient.listFiles()函数时,总是返回null。网上乱七八糟的解决方案感觉都是拷来拷去。…

    Java 2023年5月29日
    083
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球