问答详情
源自:8-4 整合MyBatis - 自定义mapper的实现

返回一个自定义的对象

为什么不能自动生成的Mapper里写;还有一个问题 如果我想把用户的企业信息也查询出来;我怎么映射到自定的一个@Component对象

提问者:Crazynew 2018-04-07 15:25

个回答

  • windtears
    2018-04-26 17:14:37
    已采纳

    可以直接 在 自动生成的Mapper增加 自定义 sql

    例如下:

    <mapper namespace="com.webpu.m.mapper.SysUserMapper" >

      <resultMap id="BaseResultMap" type="com.webpu.m.entity.SysUser" >

        <!--

          WARNING - @mbg.generated

        -->

        <id column="id" property="id" jdbcType="INTEGER" />

        <result column="name" property="name" jdbcType="VARCHAR" />

        <result column="login_name" property="loginName" jdbcType="VARCHAR" />

        <result column="login_password" property="loginPassword" jdbcType="VARCHAR" />

        <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />

        <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />

      </resultMap>

      

      <sql id="SysUserDefineJoins">

    a.id AS "id",

    b.content AS "syslog.content",

    a.login_name AS "loginName",

    a.login_password AS "loginPassword",

    a.create_time AS "createTime",

    a.update_time AS "updateTime"

    </sql>

        

    <select id="getUser" resultType="com.webpu.m.entity.SysUser">

    SELECT 

    <include refid="SysUserDefineJoins"/>

    FROM sys_user a,sys_log b

    WHERE a.id = #{id} and b.location= #{id}

    </select>

    </mapper>

    以上我是随意写的 而且加的 双表关联  

    syslog名称 来自 pojo中 

    private SysLog syslog; (要生成 get和set)

    不知这个例子举的全面不!


  • qq_游在梦中_0
    2018-04-17 15:52:45

    不应映射到对象  直接映射map