教你如何使用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语句的操作了,特别简单好用,节省了很多时间大家快去试试吧!!