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

本文介绍MyBatis逆向工程工具,该工具可根据数据库表自动生成所需的Java代码,包括mapper.java、mapper.xml及POJO类。此外,还详细解析了如何使用Example类进行自定义查询条件设置,例如按用户名查询并实现排序等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.逆向工程
逆向工程可以针对单表自动生成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;

需求:根据用户名查询查询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);
    }

测试结果(数据库中有两个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]

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值