1.前提
确认数据库中可以查到数据
确认sql语句没有编写错误
2.问题产生原因:
我们一般在数据库中字段名使用 ‘_
‘连接,而在实体类中使用驼峰命名。但是这样查询之后使用的驼峰命名法的是映射不到实体类上的 。
3.解决方法
方法一:
起别名:在实体类的映射文件中编写如下sql片段:
id, brand_name as brandName, company_name as companyName, ordered select from tb_brand;
id填写要映射的表名_column
内部编写字段,将不一致的字段分别取别名:表中的字段名 as 实体类中的属性名
select 中的id对应Mapper接口中的方法名
resultType对应实体类全类名
sql语句中引用上面定义的sql片段
from 要查询的表名
ps:
*缺点:每次查询都要定义一次别名,sql片段使用起来不灵活
方法二:
在实体类的映射文件中编写resultMap
<!-- resultMap: 1.定义标签 2.在标签中吗,使用resultMap属性 替换 resultType属性 id:唯一标识 type:映射的类型,支持别名 --> select * from tb_brand;
方法三:
只需要在mybatis配置文件mybatis-config.xml中添加以下配置:
内容是这样的: