2018.12.06
(1)无法启动SpringBoot,找不到dao接口对应映射文件
解决方法:在启动类上方加注释
@MapperScan("com.XXX.dao")
(2)可以启动SpringBoot,做数据库查询时找不到dao接口对应映射文件里的方法
解决方法:dao映射文件和dao接口文件全在java下,没有放到resource下,所以在pom.xml中最后</project>上方要做配置
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
(3)控制台打印异常时有乱码,提示需要设置时区
解决方法:在Application.properties文件中配置
spring.datasource.url=jdbc:mysql://localhost:3306/db1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
把?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC附加上就可以了。
(4) org.xml.sax.SAXParseException: 元素类型 "meta" 必须由匹配的结束标记 "</meta>" 终止
解决方法:pom文件导入一个依赖
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>${nekohtml.version}</version>
</dependency>
在Application.properties文件中配置
spring.thymeleaf.mode: LEGACYHTML5
spring.thymeleaf.cache=false
(5)在Service业务层天价了注释@Transactional但是报异常,事务却没有回滚,一定要注意是不是tay(catch)了,这样会把异常消除掉,导致事务不能回滚。
(6)在更新或者插入操作时,如果形参是个对象,则只需要直接用其属性赋值即可,不可以写作obj.XXX或者param.xxx。
(7)controller控制器返回式为void问题
(ps:我在控制器里写了个方法,没有返回值,单纯打印我递归遍历的下级菜单,发现字符串可以打印,但会报异常)
我用的是Thymeleaf模板,好多人指教去掉路径上的"/",但我根本没加。
解决方法:给返回值为void的方法加上HttpServletResponse 形参就好了。
具体缘由可以看下大神攻略 ==》http://blog.csdn.net/yh_zeng2 https://blog.csdn.net/yh_zeng2/article/details/75136614