Mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases><package name="com.how2java.pojo"/>
</typeAliases>
<environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/how2java?characterEncoding=UTF-8"/><property name="username" value="root"/><property name="password" value="admin"/></dataSource></environment>
</environments>
<mappers><mapper resource="com/how2java/pojo/Product.xml"/>
</mappers>
</configuration>

Product.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.how2java.pojo"><select id="listProduct" resultType="Product">SELECT * FROM product_<where><choose><when test="name != null">and name like concat('%',#{name},'%')</when><when test="price !=null and price != 0">and price > #{price}</when><otherwise>and id >1</otherwise></choose></where></select>
</mapper>

Product.java

package com.how2java.pojo;public class Product {private int id;private String name;private float price;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public float getPrice() {return price;}public void setPrice(float price) {this.price = price;}@Overridepublic String toString() {return "Product [id=" + id + ", name=" + name + ", price=" + price + "]";}}

TestMybatis.java

package com.how2java.pojo;import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class TestMybatis {public static void main(String[] args) throws IOException {String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession session = sqlSessionFactory.openSession();Map<String,Object> params = new HashMap<>();
//      params.put("name","a");
//      params.put("price","10");List<Product> ps = session.selectList("listProduct",params);for (Product p : ps) {System.out.println(p);}session.commit();session.close();}
}

Mybatis OTHERWISE标签相关推荐

  1. mybatis常用标签和动态查询

    这里是修真院后端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析后端知识/技能,本篇分享的是: [mybatis ...

  2. Mybatis if标签和where标签结合巧妙使用

    本文章描述的是 Mybatis if标签和where标签的结合使用 [x1]微信公众号的每日提醒 随时随记 每日积累 随心而过 [x2]各种系列的视频教程 免费开源 关注 你不会迷路 [x3]系列文章 ...

  3. MyBatis 别名标签 sql的复用

    1.MyBatis 别名标签 如果在映射文件中,大量使用类名比较长,可以在sqlMapConfig.xml声明别名, 在映射文件中可以使用别名缩短配置,注意此配置要放在最前面 sqlMapConfig ...

  4. MyBatis 常用标签简单总结

    MyBatis 常用标签简单总结 if 标签:类似于 Java 中的 if 语句 where标签:根据查询条件是否存在,来决定是否生成 where 字符串 set标签:根据查询条件是否存在,来决定是否 ...

  5. Mybatis sql标签使用变量

    Mybatis sql标签使用变量 记录演示 Mybatis 中 sql 标签中使用变量的方法 <?xml version="1.0" encoding="UTF- ...

  6. 【mybatis】mybatis if 标签判断字符串相等

    mybatis if 标签判断字符串相等 mybatis 映射文件中,if 标签判断字符串相等,两种方式: 因为 mybatis 映射文件,是使用的 ognl 表达式,所以在判断字符串 sex 变量是 ...

  7. mybatis foreach标签拼接多字段in ,和union

    mybatis for标签 手写肯定是不可能,复制又经常忘记哪里有,记录一下复制方便 (oracle数据库) 批量添加 ,修改 ,拼接(xx,xx)in , union 添加,修改: <fore ...

  8. 猿创征文|mybatis 字段与数据库关键字冲突了怎么办、mybatis for 循环查询输出、mybatis常用标签

    mybatis 字段与数据库关键字冲突了怎么办 如update join_brand_hot set index = #{top} where id = #{id} 这样明显会因为index与索引关键 ...

  9. mybatis trim标签_MyBatis学习笔记

    MyBatis开发文档: mybatis - MyBatis 3​mybatis.org mapper接口开发的四个规范: XxxMapper.xml配置文件的名称命名空间值必须是mapper接口的全 ...

  10. mybatis sql标签_这谁顶得住?Mybatis 十八连环问

    来自:开源中国,作者:祖大俊 链接:https://my.oschina.net/zudajun/blog/747682 1.#{}和${}的区别是什么? 答:${}是Properties文件中的变量 ...

最新文章

  1. HDU3371(最小生成树)
  2. 谷歌如何通过机器学习实现逼真AR实时自拍效果
  3. 数组去重--这几种方法够不?
  4. linux mysql 客户端编码设置_mac和linux下mysql字符集设置问题
  5. Keras笔记(一)一些基本概念
  6. java读取文件跳过_在Java中读取文本文件-为什么跳过行?
  7. 人工智能ai 学习_学习代理| 人工智能
  8. openURL的使用(iOS调用系统电话、浏览器、地图、邮件等)
  9. java取linux本地xml,java-使用apache poi读取.xlsx文件会在Linux机器...
  10. python怎么判断字段不存在_Python 判断一个对象是否存在
  11. jvm与dvm两种虚拟机的不同
  12. 煤岩分析仪测定煤的镜质体反射率和煤显微组分
  13. 【软考】(五)网络互联设备
  14. 来抽个奖吧!stata随机程序揭秘
  15. 编程实践(Pandas)Task08
  16. 2020 GKCTF
  17. 如何做一份淹没的水深分布图
  18. ERROR: torch-1.6.0+cu101-cp37-cp37m-win_amd64.whl is not a supported wheel on this platform.
  19. java ssh实现原理_SSH三大框架的工作原理及流程
  20. Pandas各种骚操作

热门文章

  1. LG4171/BZOJ1823 「JSOI2010」满汉全席 2-SAT
  2. 历年真题知识点个人总结(持续更新)
  3. Android_自定义绘制语音输入话筒
  4. element中dialog出现滚动条记忆功能
  5. Emiya 家今天的饭(CSP 2019 D2 T1)
  6. 超好看的网站极简导航网址网站源码模板
  7. Echarts 中文 API说明文档
  8. 一种改进的鲸鱼优化算法-附代码
  9. 赚钱 36 计 - 第七计:定位计
  10. java中时间输出的格式_Java 打印日期/时间格式