zoukankan      html  css  js  c++  java
  • MyBatis之CRUD操作的实现

    简述

      之前的学习中我们学会了简单的查询,这章内容我们开搞增删查改。

    查询

      首先我们把之前基本的基于xml配置的项目拷过来

      然后我们写一个测试代码

       执行没有任何问题

    增加 

      我们在dao接口加入保存的方法

      在IUserDao.xml里加上我们的配置,注意parameterType是参数类型,原本在jdbc我们是问号问号自己设置参数,现在因为和我们的实体类一一对应,故可以将实体类作为参数,使用方法提取属性,#{}代表是mybatis默认的取参方法,也就是我们User类自己生成的get set方法。

      现在我们来写测试代码,首先新建一个User类来表示我们要保存的一条元组数据。

      然后把上面的测试查询代码拷过来,第5步变为执行保存方法,把新建的user传参保存。

       我们发现新建工厂生成代理类那些玩意很麻烦,每次都要重建一次,不妨把他们弄出来变成类的成员变量,用init方法初始化,destroy方法释放资源

       于是乎我们的测试类就可以只关注于代理对象方法的执行。

       然后我们使用junit测试的黑科技就可以搞一搞了,我们在init方法的上一行加入before注解,在destroy后加入after注解,这样我们在测试的方法类连init和destory都不用敲了

      我们运行一下查询所有,奈斯~

      现在我们执行一下save的测试方法发现报错了,因为在执行的过程中没提交事务,我们需要在执行save方法后手动提交事务

      这行代码写上之后,奈斯~

      我们可以调用openSession(true)获得sqlsession时是自动提交事务,用 openSession()则为手动提交,所以我们需要手动提交事务,自己敲一个commit,因为手动提交事务提供了程序的可变性,所以我们一般采用手动提交,我们把commit放到destroy里。

    更新

      我们在dao接口加入更新方法

      然后在xml文件里加入该方法的配置,这里的参数同样也是User实体类,里面写我们的sql语句

      接着我们把测试类也写了,和上面的几乎一样,就是把执行方法改了,然后多设个id用于更新操作

       运行一下,奈斯~

    删除

      我们在dao接口加入删除方法 

       然后加入xml配置,注意这里的参数类型可以写int,也可以写Integer,或者他们的全大写都行,#{}括号里面写什么都行,表示那个整数的占位符

       我们再把测试类搞一搞,这里我们要删48

      删除前

       删除后

      至此基本的增删查改全部搞定了,之后有机会就把注解的形式搞定,奥里给~

      

      2020/8/18 17:11:13 为了做一名真正的绅士,即使明知必输无疑,也要有勇气接受挑战!——乔纳森·乔斯达《JOJO奇妙冒险》

       

  • 相关阅读:
    未能加载文件或程序集“*.DALSQLServer”的原因和解决办法
    删除数据库重复数据一方法
    未能加载文件或程序集 System.Web.Extensions 的解决办法
    3D电影的原理
    语法分析器自动生成工具一览
    【翻译】语法分析工具Gold介绍(1)——系统简介
    安装版本管理软件SVN
    在Visual Studio 2008(及以后版本)中使用SVN
    20191218《信息安全导论》第四周总结
    20191218 唐启恒 师生关系
  • 原文地址:https://www.cnblogs.com/qq2210446939/p/13512836.html
Copyright © 2011-2022 走看看