Mybatis(四)特殊SQL的查询:模糊查询、批量删除、动态设置表明、添加功能获取自增的主键
创始人
2024-11-15 15:12:05
0

实体类:

数据库:

1、模糊查询

方案一:

不适用#{ },’%?%‘ 问号是属于字符串的一部分 不会被解析成占位符,会被当作是我们字符串的一部分来解析,所以我们执行的语句中找不到占位符,但是我们却为占位符进行了赋值,所以说就会报错。

我们使用${ } ,将#{}替换成${ }

这个不适用: // select * from t_user where username like '%#{username}%'   select * from t_user where username like '%${username}%'

方案二:

使用字符串拼接的方法

select * from t_user where username like concat('%',#{username},'%')

方案三:

最常用的方式

select * from t_user where username like "%"#{username}"%"

2、批量删除

#{ } 在sql语句中被解析之后本身就会加上一个单引号 ' '

表中的 字符串 日期 字段名 都可以加单引号

不可以使用#{} 需要使用${ }

/** * 批量删除 */     int deleteMore(@Param("ids") String ids);           delete from t_user where id in(${ids})       

3、动态设置表明

使用${ }

#{ } 还是不使适用,会产生 ' '   ,动态设置表名的时候不可以带  '  ' 

List getUserByTableName(@Param("tableName") String tableName);  

4、添加功能获取自增的主键

void insertUser(User user);            insert into t_user values(null,#{username},#{password},#{age},#{sex},#{email})     
//测试代码     @Test     public void testGetUserByLike1(){         SqlSession sqlSession = SqlSessionUtils.getSqlSession();         SQLMapper mapper = sqlSession.getMapper(SQLMapper.class);         User user = new User(null,"asdff","456789",14,"男","asdf.com");         mapper.insertUser(user);      }

相关内容

热门资讯

重大发现!微信牵手跑辅助(透视... 重大发现!微信牵手跑辅助(透视)教你攻略(普及作弊开挂辅助神器);详细微信牵手跑辅助攻略(微信牵手跑...
3分钟了解!白金岛放炮罚作弊码... 3分钟了解!白金岛放炮罚作弊码,微扑克微乐辅助,辅助教程(最初是有挂);白金岛放炮罚作弊码软件透明挂...
第一次性普及“微信小程序财神十... 第一次性普及“微信小程序财神十三脚本”推荐作弊开挂辅助器(好像是有挂)是一款可以让一直输的玩家,快速...
透视讲解"拱趴大菠萝... 【福星临门,好运相随】;透视讲解"拱趴大菠萝挂可以安装"推荐开挂作弊辅助器(确实真的有挂);暗藏猫腻...
第一分钟了解!哈糖大菠萝辅助神... 第一分钟了解!哈糖大菠萝辅助神器,WePoKer辅助器,透明挂教程(素来存在有挂);小薇(透视辅助)...
每日必备!创思维激k辅助器免费... 【福星临门,好运相随】;每日必备!创思维激k辅助器免费(辅助挂)微扑克教程(力荐作弊开挂辅助安装);...
第六次性普及“约战平台辅助”介... 第六次性普及“约战平台辅助”介绍作弊开挂辅助器(先前是有挂);约战平台辅助是一款益智类棋牌手游,可以...
透视了解"德州透视脚... 透视了解"德州透视脚本"解密开挂作弊辅助脚本(总是真的有挂);1、当德州透视脚本成为包赢并连被系统针...
玩家爆料!潘潘讲故事app有挂... 玩家爆料!潘潘讲故事app有挂(辅助挂)教你教程(爆料作弊开挂辅助神器),潘潘讲故事app有挂是用手...
2分钟了解!微信辅助接单平台黑... 2分钟了解!微信辅助接单平台黑幕,哈糖大菠萝软件下载,攻略方法(最初真的有挂);2分钟了解!微信辅助...