@Repository
@Mapper
public interface UserMapper {
@Select(“SELECT * FROM demo_user WHERE user_id = #{id}”)
public User getUserById(int id);
}
调用userMapper返回null值
application.properties中添加日志打印
logging.level.com.atchenduo.test.demo.mapper=debug
发现数据库有返回值
==> Preparing: SELECT * FROM demo_user WHERE user_id = ?
==> Parameters: 2(Integer)
<== Total: 1
user = null
确定sql没毛病,所以是DAO层的问题。
看了一下User类,发现有几个字段和数据库不对应,于是改了过来。
再跑一遍还是相同的情况。于是想到是不是驼峰和下划线对应的问题
在application.properties中添加了:
mybatis.configuration.map-underscore-to-camel-case=true
打开了驼峰命名,试了一下果然成功了。
user = [User2{userId=2, userName=’李四’, userPassword=’321321’…..
为什么mybatis没有默认打开驼峰?我从不记得springMVC那个年代有设置过这个属性!