有两张表A(id,name),B(id,hobby), 两表id关联,比如向A表中插入一条数据(1,张三),可以向B表中插入多条数据(1,篮球),(1,足球),(1,排球),该如何使用mybatis实现呢?

解决方案 »

  1.   

    <insert id="insert"  useGeneratedKeys="true" keyProperty="id" parameterType="com.*.vo.User">
    insert into t_user values(default,#{userName},#{password},#{realmId.id},0)
    </insert>
      

  2.   

    useGeneratedKeys="true" :设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。(适用于mysql、sqlserver数据库,oracle不能使用)
    keyProperty:赋值的对象的属性名称。demo:<insert id="insertUser" useGeneratedKeys="true" keyProperty="userId" parameterType="com.domain.User">  
        insert into user(userName,password)  
        values(#{userName},#{password})  
    </insert>  userDao.insertUser(user);//插入操作  
    //插入B表逻辑,其中id为user.getUserId();
      

  3.   

    在业务层实现不就行了,或者controller里面写操作另外一张表的方法