mybatis学习笔记(三)

mybatis增删改

  • 概念:
    • 功能:从应用程序角度出发,软件具有哪些功能;
    • 业务:完成功能时的逻辑,对应service的一个方法;
    • 事务:从数据库角度出发,完成业务时需要执行的SQL集合,统称一个事务。
  • mybatis 底层是对 JDBC 的封装
    • JDBC 中 executeUpdate()执行新增,删除,修改的 SQL.返回值 int,表示受影响的行数。
    • 所以mybatis 中<insert><delete><update>标签没有 resultType 属性,默认返回值都是 int。
  • 增加一条信息
    • 使用<insert>标签
      <insert id="ins" parameterType="People"> insert into people values(default,#{name},#{age}) </insert>
       1 People people = new People();  2 people.setName("新增name");  3 people.setAge(88);  4 try {  5    int insert = session.insert("com.bjm.mapper.ins", people);  6    if (insert>0) {  7       System.out.println("成功");  8    }else {  9       System.out.println("失败"); 10  } 11   } catch (Exception e) { 12  session.rollback(); 13  } 14 session.commit(); 15 session.close();
    • 在 openSession()时 Mybatis 会创建 SqlSession 时同时创建一个Transaction(事务对象),同时 autoCommit 都为 false,这也就是mybatis将JDBC的自动提交关闭,需要session.commit();让session进行提交。
    • 为了避免错误提交,使用session.rollback();事务回滚
  • 删除一条信息
    • 使用<delete>标签
      1 <delete id="del" parameterType="People">
      2  delete from people where id=#{0} 3 </delete>
       1 try {  2     int delete = session.delete("com.bjm.mapper.del", 2);  3     if (delete > 0) {  4         System.out.println("成功");  5     }else {  6     System.out.println("失败");  7  }  8     } catch (Exception e) {  9  session.rollback(); 10 }  
    • 由于删除操作是根据id查找一条数据,所以使用#{0}
  • 修改一条信息
    • 使用<update>标签
      1 <update id="upd" parameterType="People">
      2  update people set name = #{name} where id = #{id} 3 </update> 
       1 People people = new People();  2 people.setId(3);  3 people.setName("王二麻子");  4 try {  5     int update = session.update("com.bjm.mapper.upd", people);  6     if (update > 0) {  7         System.out.println("成功");  8     }else {  9         System.out.println("失败"); 10  } 11 } catch (Exception e) { 12  session.rollback(); 13 } 14 session.commit(); 15 session.close();

       

全部评论

相关推荐

最近和朋友聊天,她说了句让我震惊的话:"我发现我连周末点外卖都开始'最优解'了,一定要赶在高峰期前下单,不然就觉得自己亏了。"这不就是典型的"班味入侵"吗?工作思维已经渗透到生活的方方面面。
小型域名服务器:啊?我一直都这样啊?我还以为是我爱贪小便宜呢?每次去实验室都得接一杯免费的开水回去,出门都得规划一下最短路径,在宿舍就吃南边的食堂,在实验室就吃北边的食堂,快递只有顺路的时候才取。
点赞 评论 收藏
分享
10-09 09:39
门头沟学院 C++
HHHHaos:这也太虚了,工资就一半是真的
点赞 评论 收藏
分享
11-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务