choose相关知识
-
java入门第三季--借书系统package borrowbook; public class BorrowBook { public static void main(String[] args) { Choose cs = new Choose(); cs.runChoose(); } } package borrowbook; import java.util.Scanner; public class Choose { private String str; private int choice; String[] book; public Choose() { this.book = new String[]{"gaoshu", "sjjg", "mg", "English"}; } public void doChoiceRight()throws Exception{ if(choice > 3 || choice
-
达达租车测试类,不足之处请指点/* To change this license header, choose License Headers in Project Properties. To change this template file, choose Tools Templates and open the template in the editor. */ package test; import java.util.Arrays; /* 汽车父类 @author Administrator */ public class Cars { private String name;//汽车名 private int price;//价钱 private int peopleTotal;//载人量 private int cargo;//载货量 private String type;
-
模拟借书系统抛出异常代码import java.util.; / To change this license header, choose License Headers in Project Properties. To change this template file, choose Tools | Templates and open the template in the editor. */ public class BookTry { Scanner input = new Scanner(System.in); private String[] bookName = {"高数","数据结构","C语言"}; public void search1() throws BookException{ System.out.println("输入图书名称:"); String k =
-
答答租车(封装+多态)主类 package dadazuche; import java.util.Scanner; public class Initial { /** * @param args */ public static void main(String[] args) { Initial initial = new Initial(); // TODO Auto-generated method stub System.out.println("欢迎使用达达租车系统:"); System.out.println("您是否要租车:1是0否"); //选择是否租车 int choose = initial.choose(); if(choose==1){ //打印价格类目表 initial.carPrint(); //选择车子数量及序号 initial
choose相关课程
choose相关教程
- 3. 实例 下面是一个融合了 choose 和 bind 标签的实例:<select id="selectUserByLikeName" resultType="com.imooc.mybatis.model.User"> SELECT * FROM imooc_user WHERE username LIKE <choose> <when test="_databaseId == 'mysql'"> CONCAT('%',#{username},'%') </when> <when test="_databaseId == 'postgre'"> '%' || #{username} || '%' </when> <otherwise> <bind name="usernameLike" value="'%' + username + '%'"/> #{usernameLike} </otherwise> </choose></select>通过 choose 标签来判断当前的数据库厂商,如果是 MySQL 数据库,则调用CONCAT函数来拼接 % 和 username,如果是 PostgreSQL 数据库,则使用操作符||来拼接,如果是其它类型的数据库,则直接通过 OGNL 表达式来绑定一个新的变量 usernameLike。在这个例子中,choose 是一个条件选择标签,第一个 when 相当于 if 判断,第二个 when 相当于 else if,最后的 otherwise 相当于 else。比起 if 标签,choose 标签无疑更为易用,适用于同一条件的多次判断逻辑。
- 1. 前言 在上一小节中,我们介绍了 MyBatis 动态 SQL 中最基础的标签——if 标签,本小节我们将一起学习 choose 和 bind 标签。choose 标签是 if 标签的增强版,适用于更加复杂的条件判断逻辑;而bind 标签则可以在 OGNL 上下文环境中新绑定一个变量,供后面的 SQL 使用。
- 2. 实例 在注解中使用动态 SQL 其实十分简单,只需在动态 SQL 语句的外面包上一层script标签即可。如下:@Select({"<script>", "SELECT * FROM imooc_user", " WHERE", " <choose>", " <when test='id != null'>", " id = #{id}", " </when>", " <when test='username != null'>", " username = #{username}", " </when>", " <otherwise>", " 1 = 0", " </otherwise>", " </choose>", "</script>"})User selectUserByIdOrName(@Param("id") Integer id, @Param("username") String username);在 Select 注解中,我们没有直接写入 SQL,而是在最外层套上一个 script 标签,这里考虑到 SQL 语句的美观性,我们把语句分成了字符串数组来书写,MyBatis 会自动将其拼接成一个完整的语句。
- 4.1 例1. 多条件查询用户 请使用 MyBatis 完成对 imooc_user 表多条件查询用户的功能,如果 id 不为空则直接使用 id 查询用户,否则使用 username 查询用户,如果 username 也为空,则直接查询全部用户。分析:按照 MyBatis 的开发模式,需先在 UserMapper.xml 文件中添加多条件查询用户的 select 标签,然后在 UserMapper.java 中添加上对应的方法。步骤:首先,在 UserMapper.xml 中添加 select 标签,并在标签中写入 SQL,使用 choose 中的 when 标签来依次判断 id 和 username 是否为 null,若均为 null,则在 otherwise 中添加上一个永假的值。如下:<select id="selectUserByIdOrName" resultType="com.imooc.mybatis.model.User"> SELECT * FROM imooc_user WHERE <choose> <when test="id != null"> id = #{id} </when> <when test="username != null"> username = #{username} </when> <otherwise> 1 = 0 </otherwise> </choose></select>这里使用了1 = 0作为条件判断的永假值。然后在 UserMapper.java 中添加上对应的接口方法,方法接受 id 和 username 两个参数,都可为空。package com.imooc.mybatis.mapper;import org.apache.ibatis.annotations.Mapper;import com.imooc.mybatis.model.User;@Mapperpublic interface UserMapper { User selectUserByIdOrName(@Param("id") Integer id, @Param("username") String username);}结果:通过如下代码,我们运行 selectUserByIdOrName 这个方法。UserMapper userMapper = session.getMapper(UserMapper.class);User pedro = userMapper.selectUserByIdOrName(null, null);System.out.println(pedro);id 和 username 两个属性均为空,因此所执行的 SQL 为:SELECT * FROM imooc_user WHERE 1 = 0 成功后,结果为:null
- MyBatis choose 和 bind
- 2. 定义 慕课解释:choose 标签相当于编程语言 if…else 语句,用于动态 SQL 中的多条件判断,是 if 标签的增强版。bind 标签可以在动态 SQL 中通过 OGNL 表达式来创建一个新的变量绑定到上下文中,供后续的 SQL 使用。
choose相关搜索
-
c 正则表达式
c string
c 编程
c 程序设计
c 程序设计教程
c 多线程编程
c 教程
c 数组
c 委托
c 下载
c 线程
c 语言
caidan
cakephp
call
calloc
calu
camera
caption
case语句