当前位置: 代码迷 >> J2EE >> mybatis 关联查询插入的有关问题
  详细解决方案

mybatis 关联查询插入的有关问题

热度:3244   发布时间:2013-02-25 21:38:46.0
mybatis 关联查询插入的问题
我这有一个账户类 一个部门类 
部门类中有 String name 等
账户类中有 String name String pass Department depId
我现在想用mybatis实现关联查询 和插入
我前台插入账户的时候 input和select的name分别是 name pass depId 但是这样提示插入的时候类型不对,请问是不是我的配置文件写不对呢
下面是我的配置文件
<mapper namespace="manager">
<resultMap type="Manager" id="managerMap">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="pass" property="pass" />
<result column="status" property="status" />
        <association property="departmentName" select="selectDeptById" column="deptId" javaType="Department"/>  
    </resultMap>
    
    <select id="selectDeptById" parameterType="int" resultType="Department">  
        select * from department where id = #{id}  
    </select>

<insert id="addManager" parameterType="manager" useGeneratedKeys="true" keyProperty="id">
insert into manager(name,pass,deptId)
values(#{name},#{pass},#{departmentName})
</insert>
请问楼主,你这个问题解决了吗?我也有同样的问题,跟我讲下myibatis 和ibatis 叫半自动化,就是要自己写sql 的(#{name},#{pass},#{departmentName}) 参数和数据库类型不对应!我随便说两句,你的参数manager传过来的那个#{departmentName} 的类型和数据库里的类型对应上了么?<insert id="addManager" parameterType="manager" useGeneratedKeys="true" keyProperty="id">         insert into manager(name,pass,deptId)         values(#{name},#{pass},#{departmentName})     </insert> 
这个manager是什么类型,你配置的应该是Manager吧。
  相关解决方案