zoukankan      html  css  js  c++  java
  • mybatis的动态sql

    一.if和where

    举例:根据员工姓名员工的基本工资查询员工信息,如果员工姓名为空,则只根据基本工资查询,如果基本工资为
    空,根据员工姓名查询,如果两个条件都为空,查询所有的员工信息。
    where标签中的第一个if的and或者or 可以省略,但是之后的条件的and或者or不能省略。

    二.choose when otherwise

    choose when otherwise 和编程语言中的if else是一样的,条件选择
    if (条件表达式1 ) {
    语句块;
    }else if(条件表达式2){
    语句块;
    }else if(条件表达式3){
    语句块;
    }else{
    语句块;
    }
    举例:根据员工的姓名和基本工资查询员工信息,要求:
    如果用户传了员工的姓名,则优先按姓名查找,如果没有传递姓名,按基本工资查找,如果两个条件都没有传。查
    询全部员工的信息。
    第一步,在dao接口中声明方法
    第二步,在mapper中实现方法

    第三步,测试一下 
     

    三.foreach

    举例:查询员工编号在某集合中的员工的信息。
    第一步,在dao接口中声明方法 
    第二步,在mapper中实现该方法

    第三步,测试
    public static void main(String[] args) {
    SqlSession session = SqlSessionFactoryUtil.getSession();
    EmpDao empDao = session.getMapper(EmpDao.class);
    List<Long> empnos = new ArrayList<Long>();
    List<Emp> emps = empDao.listByEmpnos(empnos);
    for (Emp em :
    emps) {
    System.out.println("员工编号:"+em.getEmpno());
    System.out.println("员工姓名:"+em.getEname());
    System.out.println("员工基本工资:"+em.getSal());
    // System.out.println("部门名称:"+em.getDept().getDname());
    System.out.println("===");
    }
    session.close();
    }
  • 相关阅读:
    Eclipse和MyEclipse常出现的错误总结
    JS中的showModelDialog详解和实例
    form中的action,submit="return save()"以及ajax提交方法
    清除上传文件input标签中type="file"的value值
    上传文件时并顺便将文件压缩时出现文件名乱码以及文件内容乱码解决方案
    python 知识
    centos 安装docker
    docker 配置国内镜像
    git 操作命令
    react build dist发布nginx时的配置
  • 原文地址:https://www.cnblogs.com/duguangming/p/10889608.html
Copyright © 2011-2022 走看看