• Mybatis-Generator逆向工程,复杂策略(Criteria拼接条件)


    基于上一篇修改

    1.Generator配置文件修改,将targetRuntime改为MyBatis3

    2.项目结构目录

    这个xxxExample就是拼接条件用的

    3.测试代码

    注释写的很详细

        public static void main(String[] args) throws Exception {
            
            SqlSession session = getSqlSession();
            try {
                // 面向接口方式
                MembersMapper mapper = session.getMapper(MembersMapper.class);
                // 测试返回list集合
                // 查询(member_name like %a% and gender = '1') or email like &y&
                MembersExample example = new MembersExample();
                
                Criteria criteria = example.createCriteria();
                criteria.andMemberNameLike("%a%");
                criteria.andGenderEqualTo(1);
                
                // 每一个or条件就是一个新的Criteria
                Criteria criteria1 = example.createCriteria();
                criteria1.andEmailLike("%y%");
                // 直接拼接
                example.or(criteria1);
                
                List<Members> list = mapper.selectByExample(example);
                for (Members member : list) {
                    System.out.println(member);
                }
            } finally {
                // 关闭session
                session.close();
            }
    //        generatorAuto();
    
        }

    4.查询结果

    发送的sql语句如下

    Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@5f150435]
    ==>  Preparing: select id, member_name, age, gender, email from members WHERE ( member_name like ? and gender = ? ) or( email like ? ) 
    ==> Parameters: %a%(String), 1(Integer), %y%(String)
    <==    Columns: id, member_name, age, gender, email
    <==        Row: 1, jack, 25, 1, jack@beijing.com
    <==        Row: 2, pnoy, 26, 0, pnoy@beijing.com
    <==      Total: 2
    com.Entity.Members@42e26948
    com.Entity.Members@57baeedf

    ok~就这样

  • 相关阅读:
    C++命名规则
    protobuf_1
    以太网帧格式
    LinQ
    asp.mvc 基本知识
    Lucene.Net 优化索引生成,即搜索显示优化
    HTML Meta中添加X-UA-Compatible和IE=Edge,chrome=1有什么作用
    DataSet
    伪Excel导出新版代码
    WebUI 常用
  • 原文地址:https://www.cnblogs.com/zhangjianbing/p/8377929.html
Copyright © 2020-2023  润新知