首页 > 数据库 >MyBatis框架:第九章:动态SQL语句

MyBatis框架:第九章:动态SQL语句

时间:2022-10-07 16:23:29浏览次数:84  
标签:语句 第九章 UserMapper private sex session SQL MyBatis public

准备工作:

public class User {
private int id;
private String lastName;
private int sex;

14.1、if 语句
说明: if语句,可以动态的根据你的值来决定,是否需要动态的添加查询条件。

UserMapper类中的方法

public interface UserMapper {
public List queryUsersByNameAndSex(User user);
}

UserMapper配置文件中的配置

<!-- 
	if语句
 -->
<select id="queryUsersByNameAndSex" parameterType="com.bean.User" resultType="com.bean.User">
	select id,last_name lastName,sex  from t_user where 
	<!-- 我们希望动态的创建这个条件语句 -->
	<if test="lastName != null">
		last_name like concat('%',#{ lastName },'%')
	</if>
	<if test="sex == 0 or sex == 1">
		and sex = #{sex}
	</if>
</select>

测试代码:

@Test
public void testQueryUsersByNameAndSex() {
SqlSession session = sqlSessionFactory.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);
List users = userMapper.queryUsersByNameAndSex(new User(0, “dmi”, 1));
System.out.println(users);
} finally {
session.close();
}
}
执行的结果:
在这里插入图片描述

14.2、where 语句
说明: where语句,可以帮我们在多个动态语句中,有效的去掉前面的多余的and 或 or 之类的多余关键字

UserMapper配置文件

 

更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120472293

 

标签:语句,第九章,UserMapper,private,sex,session,SQL,MyBatis,public
From: https://www.cnblogs.com/wangchuanxinshi/p/16759935.html

相关文章

  • camunda_13_postgresql
    前面都是使用H2数据库,体验功能非常方便,但分析table数据就比较麻烦了,下面介绍如何使用postgresql作为后台数据库.按照Camunda官方文档,生产环境优先推荐Oracle和P......
  • MySQL库,表,数据的操作
    数据库的操作1.创建数据库createdatabase[ifnotexists]`数据库名`charset=字符编码(utf8mb4);如果多次创建会报错如果不指定字符编码,默认为utf8mb4(一个汉......
  • 安装Mysql之Playbook
    ----name:installmysqlhosts:allvars:mysql:mysql-8.0.28-linux-glibc2.12-x86_64tasks:-name:installpackageyum:name:-l......
  • MySQL面试题(三)
    27、索引的底层实现原理和优化B+树, 经过优化的B+树主 要是在所有的叶子结点中增加了指向下一个叶子节点的指针,  因此InnoDB建 议 为大部分表使用默认自增的主键作为......
  • python+request+pymysql+pytest数据驱动
    一.pymysql简单使用1.安装mysql下载地址:https://www.mysql.com/,安装教程这里不做介绍了,网上一大推。2.安装pymysql库在Terminal终端输入:pipinstallpymysql3.pymysql......
  • 3、spring+mybatis关联映射(无mapper实现类)+idea+maven
    该工程采用spring+mybatis的关联映射,动态sql,sql片段实现1、搭建项目结构如下  2、配置项目的pom.xml文件中的依赖1<?xmlversion="1.0"encoding="UTF-8"?>23<proj......
  • 2、spring+mybatis注解(无mapper实现类)+idea+maven
    1、在idea中配置database连接数据库,用来在idea中编写sql脚本操作数据库         2、sql详细脚本如下:1--1.创建部门表2createtabledept3(4deptnoint......
  • MySQL基础--事务--2022年10月7日
    第一节  事务简介1、什么是事务2、注意:默认MySQL的事务是自动提交的,也就是说,当执行完一条DML语句时,MaSQL会立即隐式的提交事务。第二节  事务......
  • 学习笔记-SQL盲注
    盲注在SQL注入过程中,SQL语句执行后,选择的数据不能回显到前端页面,此时需要利用一些方法进行判断或者尝试,这个过程称之为盲注。在盲注中,攻击者根据其返回页面的不......
  • MySQL--多表查询--2022年9月30日
    第一节  多表关系1、一对多2、多对多3、一对一第二节  多表查询概述1、笛卡尔积:select*fromA,B;......