前言:
在做项目的时候,我发现有些字段在数据库中并不是驼峰命名法,而是XX_XX的形式,而在实体类中一般我们要符合驼峰命名法,以便于与页面结合,这样,我们就需要使用关系映射来使mysql数据库的字段与实体类的字段对应。
写法:
- 在mapper层的xml里,标签
<mapper>
中,加入以下内容:
<!--映射的内容放在最顶部-->
<!--id 是要写到sql语句的resultMap里的,名字随意;type是映射的类型,是完整的包名+类名,我起别名了,所以不用那么写-->
<resultMap id="subjectMap" type="subject">
<!--column 必须与数据库的字段保持一致的(sql语句起别名的话,与别名保持一致);property 是必须和是实体保持一致的-->
<!--因为这里一一映射上了,所以不用像以前一样,保持实体字段与数据库字段完全一致-->
<id column="id" property="id"/>
<result column="subject_name" property="subjectName"/>
<!--collection 部分定义了用户关联的账户信息。表示关联查询结果集-->
<!--property 关联查询的结果集存储在 subject 对象的上哪个属性-->
<!--ofType 指定关联查询的结果集中的对象类型即List 中的对象类型。此处可以使用别名,也可以使用全限定名-->
<collection property="courseList" ofType="course">
<id column="cid" property="id"/>
<result column="course_desc" property="course_desc"/>
<result property="course_title" column="course_title"/>
<result property="subject_id" column="subject_id"/>
</collection>
</resultMap>
- 以上内容中标签
<collection>
为一对多时使用的,如不需要,可删除。