教你如何使用Mybatis generator生成exmaple 以及简单使用动态where语句!!

首先要知道什么是generator,Mybatis generator是一个exmaple类的生成工具,生成包括entity、实体example(ps:用来操作where语句查询、分页的类,非常好用,大大的节省了去写繁杂的sql查询语句的时间),mapper.xml文件(存放sql语句的位置),mapper接口。

1、如何生成example文件

下面是example类生成工具,大家可以点链接进去下载
链接: https://pan.baidu.com/s/1ND2mUYVJ9kx5CIn2tPWkuw 提取码: mevp 复制这段内容后打开百度网盘手机App,操作更方便哦

1、下载成功后,点开文件,如下图所示。

在这里插入图片描述

2、使用notepad++或者记事本打开generator.xml,设置正确参数并保存

在这里插入图片描述

3、点击生成语句,复制

java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite

4、在mybatis窗口点击shift+鼠标右键,点击在此处打开Powershell窗口,将生成语句粘贴进去执行就完成了!

在这里插入图片描述

5、最后你就可以在刚刚设置的生成文件路径中找到example类的文件,把文件复制到项目中就ok了!

在这里插入图片描述
在这里插入图片描述
以上就是使用mybatis generator生成example类,是不是非常简单!

二、使用example实现分页、条件查询、排序查询、模糊查询

1、打开MmQuestionExample实体,在里面插入分页的get、set方法,复制粘贴进去即可

private int startRow;
private int pageSize;
public int getStartRow() {return startRow;}
public void setStartRow(int startRow) {this.startRow = startRow;}
public int getPageSize() {return pageSize;}
public void setPageSize(int pageSize) {this.pageSize = pageSize;}

2、MmQuestion实体类,这里同样需要get、set方法这里就不写了

public class MmQuestion {
    private Integer id;

    private Integer ctype;

    private String question;

    private String answer;

    private String ctime;

    private Integer del;

    private Integer creater;

    private Integer stu;

    private Integer site;

    public Integer getSite() {
        return site;
    }

    public void setSite(Integer site) {
        this.site = site;
    }

    public Integer getStu() { if(IntegerUtil.isNaturalNumber(stu)){ return EntityConstant.ONE; }return stu; }

    public void setStu(Integer stu) {
        this.stu = stu;
    }

    public Integer getCreater() {
        return creater;
    }

    public void setCreater(Integer creater) {
        this.creater = creater;
    }

    public String getCtime() {
        if(StringUtils.isBlank(ctime)){return this.ctime=TimeService.currentTimeMilliStr(); }return ctime;
    }

    public void setCtime(String ctime) {
        this.ctime = ctime;
    }

    public Integer getDel() {
        if(IntegerUtil.isNaturalNumber(del)){return EntityConstant.DEL_NORMAL;} return del; }

    public void setDel(Integer del) {
        this.del = del;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getCtype() {
        return ctype;
    }

    public void setCtype(Integer ctype) {
        this.ctype = ctype;
    }

    public String getQuestion() {
        return question;
    }

    public void setQuestion(String question) {
        this.question = question == null ? null : question.trim();
    }

    public String getAnswer() {
        if(StringUtils.isBlank(answer)){
            return EntityConstant.STRING_DEFUALT;
        }
        return answer;
    }
    public void setAnswer(String answer) {
        this.answer = answer == null ? null : answer.trim();
    }
  }

3、controller 主要的方法都在里面,注意看

    @RequestMapping("/admin/api/questionList")
    public List<MmQuestion> getQuestionList(Integer page, Integer limit, Integer ctype, Integer site,String title) {
        //查询用例
        MmQuestionExample example = new MmQuestionExample();
        //添加分页
        if(IntegerUtil.naturalNumber(page) && IntegerUtil.naturalNumber(limit)){
            example.setPageSize(limit);
            example.setStartRow((page-1)*limit);
        }
        //添加查询条件
        MmQuestionExample.Criteria criteria = example.createCriteria();
        if(IntegerUtil.naturalNumber(ctype)){
        //查询ctype等于1的问题 除了等于还有不等于、小于、大于的方法都可以去使用
            criteria.andCtypeEqualTo(ctype);
        }
        //降序
   	    //example.setOrderByClause("ctype DESC");
      //升序
       //example.setOrderByClause("ctype ASC");
        criteria.andDelEqualTo(EntityConstant.DEL_NORMAL);
        
        //添加模糊查询
          if(!StringUtils.isNotBlank(title){
           criteria.andTitleLIke(‘%’+title+’%’);
      }
        if(IntegerUtil.naturalNumber(site))
        {
            //站点类型
            criteria.andSiteEqualTo(site);
        }
        //返回查询结果
        return mapper.selectByExample(example);
    }

添加查询条件只需要先创建实体example对象,然后createCriteria就能进行操作了!!
以上就是如何使用Mybatis generator生成exmaple 以及简单使用动态where语句的操作了,特别简单好用,节省了很多时间大家快去试试吧!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值