mybatis -- 简单增删改

版权声明:[ws - 兮的博客] - 空间专属,未经声明不得私自转载 https://blog.csdn.net/qq_41463655/article/details/82321230

----------------------- 增加 --------------------------------
<!--
   selectKey  ->    sql:获得当前序列值 
   selectKey  ->    order :mysql(AFTER) 
   selectKey  ->    order :oracle(另一个)
-->
<insert id="insert" parameterType="com.rl.model.Person">  //传入参数
    <selectKey keyProperty="personId" order="AFTER" resultType="java.lang.Integer">
         select last_insert_id()         // selectKey:主建id返回 
    </selectKey>
    insert into person (person_id, naem, gender, addr, biethday)
    values (#{personId },#{name },#{gender },#{addr },#{biethday })
</insert>



----------------------- 修改 --------------------------------
<update id="update" parameterType="com.rl.model.Person">
       update person t set
       t.person_id = #{personId},
       t.name = #{name}
       t.gender = #{gender}
       t.addr = #{addr}
       t.biethday = #{biethday}
</update>



----------------------- 删除 --------------------------------
<delete id="delete" parameterType="java.lang.Integer">
     delete from person where person_id = #{id}
</delete>




----------------------- 数据层 ------------------------
@Test
public void insert(){
   SqlSession session = sessionFactory.openSession();
  /* 增加不设置Id 
   *  修改必须设置Id , 问题:没设置的数据会被置空(动态修改)
   */
   Person p = new Person();  //自行 set 数据(增加,修改)
   try {

      //返回响应条数(默认) / 返回 Id(需配置-selectKey )
      int count = session.insert("com.rl.mapper.PersonMapper.insert", p);  //添加

      int count = session.update("com.rl.mapper.PersonMapper.update", p);   //修改
      int count = session.delete("com.rl.mapper.PersonMapper.delete", 1);   //删除
      session.commit();            //提交事物
      System.out.println(count);
   } catch (Exception e) { e.printStackTrace();
      session.rollback();          //异常回滚
   }finally{
      session.close();             //关闭session
   }
}

猜你喜欢

转载自blog.csdn.net/qq_41463655/article/details/82321230