【MyBatis】Mybatis的java对象名和数据库表名不同怎么办?

java对象名数据库表名 不同怎么办?


提问:

我想请教一下,在使用mybatis的注解的时候,如果出现java对象名和数据库表名不同的时候,如何写mapper。
比如,UserAccountjava对象,而 数据库表名user_account


回答:

不影响使用,不需要处理

Mybatis不需要对象和数据库表名称一致,因为查询语句中包含了从哪个表查询,而查询的结果集如何映射到对象的属性可以通过resultMap标签进行映射。

<resultMap type="com.struts.entity.User" id="UserList">
	<!-- 主键 -->
	<id column="userid" jdbcType="VARCHAR" property="userid" />
	<result column="username" jdbcType="VARCHAR" property="username" />
	<result column="registDate" jdbcType="VARCHAR" property="registDate" />
	<result column="password" jdbcType="VARCHAR" property="password" />
</resultMap>

上面是返回结果,将查询到的各个字段映射到对象的各个属性,而,如何将对象和数据库表映射其实没有必要,比如说,用User对象查询,而表是在sql语句中就写好的

<insert id="insertUser" parameterType="com.struts.entity.User">
	insert into user_info(userid,password,registDate,username)
	values(#{userid},#{password},#{registDate},#{username})
</insert>

上面就可以将User对象的各个属性插入到user_info表中,而数据库表名user_info是在sql语句中就体现好了的。

发布了552 篇原创文章 · 获赞 201 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/sinat_42483341/article/details/104045411
今日推荐