1.springboot+mybatis的环境搭建。遇到自己的坑。总结一下。
a.
@SpringBootApplication
@MapperScan({"com.example.demo9.mapper"})
public class Demo9Application{
}启动类添加了MapperScan的扫描 目的是为了让mybatis帮我们生产mapper的接口的代理实现类。
可是开始我配置的是@MapperScan({"com.example"}) 这样。任何的service接口也会帮你去生成代理实现类,可是service接口的实现类我自己生成了。所以一直报 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)。实际上是不需要让service的接口,让mybatis帮我们生成实现类。
b.为了让springboot能够扫描到mapper接口的xml文件,需要在application.properties文件中添加下配置:
mybatis.mapper-locations=classpath*:sqlmap/*.xml
#mybatis.mapper-locations:sqlmap/*.xml
以上两个配置都能生效。随便使用一个。
坑的是。#mybatis.config-location=classpath*:sqlmap/*.xml 其实是自己没有看清楚。其实这个mybatis.config-location是用来配置mybatis-config.xml的配置文件。自己没看清楚坑。
c.在application.properties的配置文件在涉及数据库连接串的用户名时。我既然使用了。
spring.datasource.name=root其实也是错的。正确的要使用spring.datasource.username=root 自己坑自己。
2.Mybatis框架中jdbcType="DATE" 和 jdbcType="TIMESTAMP"的区别
发现jdbcType的Date返回格式是yyyy-MM-dd,如果使用yyyy-MM-dd HH:mm:ss查询需要使用jdbcType的TIMESTAMP类型