逆向工程生成的Mapper.xml以及*Example.java详解

逆向工程生成的接口中的方法详解

  在我上一篇的博客中讲解了如何使用Mybayis逆向工程针对单表自动生成mapper.java、mapper.xml、实体类,今天我们先针对mapper.java接口中的部分方法进行测试,以了解其作用。

  先看表结构。。。

  

 

  从下图可以看到MBG根据数据表自动生成了很多方法,基本可以满足我们日常开发需求,我从中挑选几个测试。

  

 1、添加数据

  添加有insert,insertSelective两个方法。insert方法会把你传入对象的每一个属性的值(没有设置就按默认值)添加到对应的数据表中的列中。而insertSelective方法会把传入对象的非空属性值添加到数据表,如果为空就不添加,这个打开mapper.xml查看对应的sql语句就可以看出来它们的区别。

  

  

  就这么简单,数据表中就多了一条数据。

 2、根据主键查询

  这都很简单,直接贴图

  

     根据主键删除也是一个道理,在此就不再赘述。

  3、自定义查询(*Examp.java的作用)

    首先要创建EmployExample对象,用来获取criteria对象(Criteria是EmployExample类的一个静态的成员内部类),然后就可以使用criteria对象构造查询条件。

    比如我们要查询名字为“Richard”的员工信息。

    

 

    这里根据条件查询的结果可能是多条,所以我们用list接收。

 4、自定义条件更新

  需求:假如Richard离职了,Tom 接替他的工作。需要把名字为“Richard"的这条数据中的名字和邮箱修改为Tom和Tom的邮箱(不清楚Richard表中对应的id)。

  这个时候如果不在xml中新建sql,就需要先查询出对应数据,再修改对应字段,避免对不需要修改的字段重新赋值。在我这张表中还好,如果不需要修改的字段太多,手动为每个属性赋值就会很麻烦。

  

  

 

   这样就OK了。熟悉了这几个方法,其他还有很多方法依次类推也就容易理解了。

 

 

 

  

 

  

   

 

posted @ 2019-03-25 12:06  伏久  阅读(1531)  评论(0编辑  收藏  举报