最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

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

业界 admin 5浏览 0评论
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语句中就体现好了的。

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语句中就体现好了的。

发布评论

评论列表 (0)

  1. 暂无评论