mybatis逆向工程生成的Example类的使用

一.逆向工程
逆向工程可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、po),根据数据库的表生成java代码(逆向工程代码示例:https://github.com/tongyiming/mybatis)

二.Example类的使用

Example类的成员:

//升序还是降序:字段+空格+asc(desc)
protected String orderByClause;
//去除重复:true是选择不重复记录,false,反之
protected boolean distinct;
//自定义查询条件
protected List<Criteria> oredCriteria;

1
2
3
4
5
6
需求:根据用户名查询查询user
sql:select id, username, birthday, sex, address from user WHERE ( username = ‘张三’ ) order by username asc

@Test
public void testFindUserByName(){

    //通过criteria构造查询条件
    UserExample userExample = new UserExample();
    userExample.setOrderByClause("username asc"); //asc升序,desc降序排列
    userExample.setDistinct(false); //去除重复,true是选择不重复记录,false反之
    UserExample.Criteria criteria = userExample.createCriteria(); //构造自定义查询条件
    criteria.andUsernameEqualTo("张三");

    //自定义查询条件可能返回多条记录,使用List接收
    List<User> users = userMapper.selectByExample(userExample);

    System.out.println(users);
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
测试结果(数据库中有两个username为张三):
DEBUG [main] - ==> Preparing: select id, username, birthday, sex, address from user WHERE ( username = ? ) order by username asc
DEBUG [main] - > Parameters: 张三(String)
DEBUG [main] - <
Total: 2
DEBUG [main] - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17db9ab7]
DEBUG [main] - Returning JDBC Connection to DataSource
[cn.itcast.ssm.po.User@567bed7a, cn.itcast.ssm.po.User@622410f1]

作者:si_ma_tong_ming
来源:CSDN
原文:https://blog.csdn.net/simatongming/article/details/76021687
版权声明:本文为博主原创文章,转载请附上博文链接!

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页