MyBatis的映射关系是有一个默认的,采用下划线命名的方式将数据库表的列名按照驼峰式映射成 Java 实体类的属性名
举个例子数据库表名为 tb_user
,其中的字段名为 inst_code
,对应的实体类属性名为 instCode,这样不用自定义映射关系,会默认二者相对应的
我们也可以自定义映射关系
以一个存储用户信息的表 user
为例,该表的列名分别为 id
, name
, age
和 gender
<!-- 定义 resultMap 标签 --> <resultMap id="userResultMap" type="User"> <!-- 定义 id 属性的映射关系 --> <id property="userId" column="id" /> <!-- 定义 name 属性的映射关系 --> <result property="userName" column="name" /> <!-- 定义 age 属性的映射关系 --> <result property="userAge" column="age" /> <!-- 定义 gender 属性的映射关系 --> <result property="userGender" column="gender" /> </resultMap>
其中property对应的实体类的属性,colum对应的是表字段
需要注意的是,在 Mapper XML 文件中,也可以将 resultMap
标签放在 select
标签内部定义。这样的话,该 resultMap
只会在当前的 select
语句中起作用。