在数据库中,字段名使用了下划线
java实例化对象中String重写,使用的名字是驼峰命名法
若字段名和实体类中的属性名不一致,则可以通过resultMap设置自定义映射,即使字段名和属性名一致的属性也要映射,也就是全部属性都要列出来
为字段起别名,保持和属性名一致
<!--List<Emp> getAllEmp();--> <select id="getAllEmp" resultType="Emp"> select eid,emp_name empName,age,sex,email from t_emp </select>
通过全局配置解决字段名和属性的映射关系
<!-- mybatis-config.xml--> <!-- 将_自动映射为驼峰,例如 emp_name映射为empName--> <settings> <setting name="mapUnderscoreToCamelCase" value=""/> </settings>
通过resultMap解决字段名和属性名的映射关系
resultMap:设置自定义映射关系
id:唯一标识 不能重复
type:设置映射关系中的实体类的类型
子标签:
id:设置元素主键的映射关系
result:设置普通字段的映射关系
属性:
property:设置映射关系中的属性名,必须是type属性所设置的实体类类型中的属性名
column:设置映射关系中的字段名,必须是sql语句中查询的字段名
<resultMap id="empResultMap" type="User"> <id property="id" column="userId"></id> <result property="name" column="userName"></result> <result property="count" column="userCount"></result> <result property="pwd" column="userPassword"></result> </resultMap> <!-- List<User> getAll();--> <select id="getAll" resultMap="empResultMap"> select * from t_users </select>