2019.1.2

  • The database returned no natively generated identity value 在指定主键生成策略的时候、配置了<generator class="identity"/> 、这是提供自动增长、为数据表中的主键自动增长、但是如果数据库没有定义id列为自动增长的话、就会出现The database returned no natively generated identity value错误、所以要在数据库中手动定义id列自动增长 代码中实体类@Id@GeneratedValue加了这两个注解 so需要在数据库中钩上不是null、主键、自动增加

  • StringRedisTemplate与springboot版本问题 springboot版本1.5.13.RELEASE 跟着教程学习springboot的时候 教程pom如下
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-redis</artifactId>
</dependency>

但在注入StringRedisTemplate的的时候红线 查看maven下jar包 显示unknown 查阅文档后 pom改为

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

maven下jar包功能正常 不太明白问题所在 查看有的博客解答了该问题 直接粘来 经认证,在spring boot的版本号为1.5.0的时候 添加spring-boot-starter-reids就找不到jar包了,也就是这个jar包直接被废弃了。所以千万要注意的是:如果你的spring boot的版本号在1.5.0以后的,添加redis的jar包就必须是spring-boot-starter-data-redis。。。。 在这里还要说的一点就是: 在spring boot的版本号为1.4.0 之后,才有 spring-boot-starter-data-redis的jar包。。也就是把 spring-boot-starter-redis的jar包修改成  spring-boot-starter-data-redis jar包。。。 总结下来就是: 如果你的spring boot的版本号是1.4.0  到1.5.0 之间,添加redis的jar包的时候  添加 成 spring-boot-starter-data-redis  和  spring-boot-starter-redis  是都可以的。。。 但是   如果你的spring boot的版本号  是1.4.0 以前 也就是1.3.8 版本以前,添加redis 的 jar包 就必须是 spring-boot-starter-redis 的jar包。。


2019.1.3

  • springboot+mybatis 配置xml报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.demo.Mapper.UserMapper.userList无效的声明

1.检查xml文件所在package名称是否和Mapper interface所在的包名<mapper namespace="me.tspace.pm.dao.UserDao">mapper的namespace写的不对!!!注意系修改。2.UserDao的方法在UserDao.xml中没有,然后执行UserDao的方法会报此 3.UserDao的方法返回值是List<User>,而select元素没有正确配置ResultMap,或者只配置ResultType! 4.如果你确认没有以上问题,请任意修改下对应的xml文件,比如删除一个空行,保存.问题解决 5.看下mapper的XML配置路径是否正确** 大部分资料说可能是以上集中问题。。可是这些都是一眼都能看出来的问题 明显不是 于是重新搜了一下spb+myb的教程发现中间漏了几步 1.application.properties中mybatis.mapper-locations没有填写xml路径 2.pom.xml中build的 写入 xml存放路径

<resource>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
</resource>

也不用去加什么*Application(启动类)中去加什么注解@MapperScan(value = "com.acme.shop.mapper")什么的了,不需要呢 在mappe层上加注解@Mapper就可以了 配置好以上两个,解决问题


  • Circular view path [path] 圆形视图路径

  • pom文件中resource与resources的区别

2019.1.4

清洗数据

2019.1.5

  • 接口报错org.thymeleaf.exceptions.TemplateInputException: Error resolving template "userFindByName", template might not exist or might not be accessible by any of the configured Template Resolvers

在controller层请求处理完了返回时,没有使用@RestController或@ResponseBody而返回了非json格式 这种情况下返回的数据thymeleaf模板无法解析,直接报错,本人正式因为这个原因才报错。

解决方案:可以将@Controller换成@RestController,不过需要注意有没有其他的方法返回了html页面,会导致返回的不是页面而是字符串;最好的方法就是在你所请求的方法上面加一个@ResponseBody即可。

  • **Dependencies:是可选依赖(Optional Dependencies) Exclusions:是依赖排除(Dependency Exclusions) ** 当一个项目A依赖另一个项目B时,项目A可能很少一部分功能用到了项目B,此时就可以在A中配置对B的可选依赖。举例来说,一个类似hibernate的项目,它支持对mysql、oracle等各种数据库的支持,但是在引用这个项目时,我们可能只用到其对mysql的支持,此时就可以在这个项目中配置可选依赖。 1)配置可选依赖的原因: 2)节约磁盘、内存等空间; 3)避免license许可问题; 4)避免类路径问题,等等。
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
        <exclusion> 
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>