欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mybatis 关联查询

程序员文章站 2022-06-01 18:59:10
...

首先看一下数据库表

Mybatis 关联查询Mybatis 关联查询

t_user中powId所对应的是t_power表中的id

所以在进行关联查询是

public class User 
{
	private Integer id;				// id
	private String account;			// 用户名
	private String password;		// 密码
	private String nickname;		// 昵称
	private String telephone;		// 电话号码
	private Power  power;			// 权限
//省略set get方法
}

将power对象加入User实体中,并在powerDao中添加findByIdf方法,在userMapper 中

<resultMap type="User" id="UserResult">
		<result property="id" column="id" />
		<result property="account" column="account" />
		<result property="password" column="password" />
		<result property="nickname" column="nickname" />
		<result property="telephone" column="telephone" />
		<association property="power" column="powerId" select="com.ttms.dao.PowerDao.findById"></association>
	</resultMap>

进行添加时的SQL语句

<insert id="add" parameterType="User">
		insert into t_user values (null,#{account},#{password},#{nickname},#{telephone},#{power.id})
	</insert>

进行查询是的SQL语句

<select id="find" parameterType="Map" resultMap="UserResult">
		select * from t_user
		<if test="start!=null and size!=null">
		limit #{start},#{size}
		</if>
	</select>

在easyUI中进行获取时

<th field="cb" checkbox="true" align="center"></th>
				<th field="id" width="50" align="center">编号</th>
				<th field="account" width="100" align="center">用户名</th>
				<th field="password" width="150" align="center">密码</th>
				<th field="nickname" width="150" align="center">昵称</th>
				<th field="telephone" width="150" align="center">联系电话</th>
				<th field="power.name" width="150" align="center" formatter="formatTypeName">权限名称</th>
function formatTypeName(val,row)
	{
		return row.power.name;
	}