Mybatis中sql提升效率的小技巧和一对多

提升sql运行效率的小技巧

<!--为什么要这么写?这样写可以提高sql的运行效率。而写*,需要Oracle去数据库查出字段名,再拼接查询-->
<sql id="Base_Column_List" >
    ID, PRO_PARAM_DETAIL_ID, START_VALUE, END_VALUE, SCORE_CONTENT, CREATE_DATE, DATA_FLAG
</sql>
<select id="selectStuProScoreList" resultMap="BaseResultMap">
	select
	<include refid="Base_Column_List"/>
	from ASSESS_STU_PRO_SCORE
</select>
查询主表是一条数据、副表是多条数据时的小技巧。展开的一对多的数据格式。多对多则外面接List


po实体类
public class BaseLoginUser{
    private Integer id;

    private String userName;

    private List<BaseRoleList> roleList;

    get和set方法。
}

Mapper层
public BaseLoginUser updUserById(Integer id);

<resultMap type="com.jykj.po.powermanage.BaseLoginUser" id="baseLoginRoleInfo">
    //表1的数据一一对应
    <id column="id" property="id"/>
    <result column="username" property="userName"/>
    <collection property="roleList" ofType="com.jykj.po.powermanage.BaseRoleList">
        //表2的数据一一对应
		<id column="roleId" property="id"/>
		<result column="rolename" property="roleName"/>
	</collection>
</resultMap>
<!-- magen 2018/8/7 用户管理,修改用户,查询用户信息。输入用户ID -->
<select id="updUserById" parameterType="Integer" resultMap="baseLoginRoleInfo">
	select * from 表1 left join 表2 on 表1.列=表2.列 where 表1.id=#{id}
</select>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值