继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

关于mybatis中Example类的详解

一袋星光
关注TA
已关注
手记 2
粉丝 0
获赞 5
  • 说明一下,关于ssm框架,之前我没有深入接触过,直到最近因为项目需要,才做了一些研究,若有错误,还麻烦各位大佬能及时指出!

    首先mapper接口中的函数及方法

  •  按条件查询个数
      long countByExample(CandidateExample example);

  •  根据条件删除
     int deleteByExample(CandidateExample example);

  •   根据主键删除
     int deleteByPrimaryKey(Integer id);

  •  整条插入
     int insert(Candidate record);

  •  有选择性插入
     int insertSelective(Candidate record);

  •  按条件查询表,返回一个集合
     List<Candidate> selectByExample(CandidateExample example);

  •  按主键查询,返回一个个体
     Candidate selectByPrimaryKey(Integer id);

  •  按条件有选择的进行更新
     int updateByExampleSelective(@Param("record") Candidate record,
       @Param("example") CandidateExample example);

  • 按条件进行更新
     int updateByExample(@Param("record") Candidate record,
       @Param("example") CandidateExample example);

  •  按主键有选择的进行更新
     int updateByPrimaryKeySelective(Candidate record);

  •  按主键更新
     int updateByPrimaryKey(Candidate record);

  • 对每一个方法进行具体查询

  • 整条插入
           candidateMapper.insert(new Candidate(根据有参构造器里的参数进行具体传值));

  • 有选择性插入
           candidateMapper.insertSelective(new Candidate());//根据具体类对应的配置文件进行传值

  •  根据主键删除
           candidateMapper.deleteByPrimaryKey(1);

  • 按主键查询,返回一个个体
        candidateMapper.selectByPrimaryKey(2);

  • 按主键更新
        candidateMapper.updateByPrimaryKey(new Candidate());//注意配置文件的相应规则

  • 按主键有选择的进行更新  
        candidateMapper.updateByPrimaryKeySelective();

  • 以下是重点

  • 按条件查询个数

        CandidateExample example = new CandidateExample();
        CandidateExample.Criteria criteria = example.createCriteria();
      
        long count = candidateMapper.countByExample(example);
        System.out.println(count);

  • 根据条件删除
        criteria.andDstateGreaterThan(20);
        candidateMapper.deleteByExample(example);

  •  注意下面的这一步必须要给对应的类构造无参方法

  •  按条件查询表,返回一个集合  
         example.setOrderByClause("did asc");//升降序
         example.setDistinct(false);//是否去重复
         criteria.andDstateEqualTo(3);
         List<Candidate> candidateList=candidateMapper.selectByExample(example);
         for(Candidate list:candidateList){
                System.out.println(list.toString());
          }

  • 按条件进行更新
        criteria.andDstateGreaterThan(10);
        candidateMapper.updateByExample(new Candidate(record),example);

  • 按条件有选择的进行更新
        criteria.andDidGreaterThan(90);
        candidateMapper.updateByExampleSelective(new Candidate(record),example ) ;

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP