首页 > 数据库 >7. 特殊SQL的执行

7. 特殊SQL的执行

时间:2023-06-04 18:23:04浏览次数:56  
标签:mohu 特殊 String tableName Param user SQL 执行 id

1. 模糊查询

演示代码:

/**
* 测试模糊查询
* @param mohu
* @return
*/
List<User> testMohu(@Param("mohu") String mohu);

<!--List<User> testMohu(@Param("mohu") String mohu);-->
<select id="testMohu" resultType="User">
    <!--模糊查询的语句-->

    <!--select * from t_user where username like '%${mohu}%'-->
    <!--select * from t_user where username like concat('%',#{mohu},'%')-->
	select * from t_user where username like "%"#{mohu}"%"
</select>

2. 批量删除

演示代码 :

/**
* 批量删除
* @param ids
* @return
*/
int deleteMore(@Param("ids") String ids);

<!--int deleteMore(@Param("ids") String ids);-->
<delete id="deleteMore">
	delete from t_user where id in (${ids})
</delete>

3. 动态设置表名

/**
* 动态设置表名,查询所有的用户信息
* @param tableName
* @return
*/
List<User> getAllUser(@Param("tableName") String tableName);

<!--List<User> getAllUser(@Param("tableName") String tableName);-->
<select id="getAllUser" resultType="User">
	select * from ${tableName}
</select>

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

添加功能获取自增的主键 ——> 获取受影响的行数

场景模拟:

t_clazz(clazz_id,clazz_name)

t_student(student_id,student_name,clazz_id)

1、添加班级信息

2、获取新添加的班级的id

3、为班级分配学生,即将某学的班级id修改为新添加的班级的id

/**
* 添加用户信息
* @param user
* @return
* useGeneratedKeys:设置使用自增的主键
* keyProperty:因为增删改有统一的返回值是受影响的行数,因此只能将获取的自增的主键放在传输的参数user对象的某个属性中
*/
int insertUser(User user);

<!--int insertUser(User user);-->
<insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
	insert into t_user values(null,#{username},#{password},#{age},#{sex})
</insert>

标签:mohu,特殊,String,tableName,Param,user,SQL,执行,id
From: https://www.cnblogs.com/NorthPoet/p/17456045.html

相关文章

  • Mysql如何新建一个用户并赋予视图权限
    Mysql如何新建一个用户并赋予视图权限 --新建用户CREATEUSER'viewUser'@'%'IDENTIFIEDBY'password'; -- 赋予视图权限GRANTSELECT,SHOWVIEWON`views`TO'viewUser'@'%' -- 并把视图内容关系到的表权限赋予新用户GRANTSELECTON`tableName`......
  • 【转】sqlplus/RMAN/lsnrctl 等工具连接缓慢
    AIX上sqlplus/assysdbarmantarget/或者lsnrctlstart时或者通过sqlplussystem/oracle@orcl这样通过监听连接等方式来登陆时非常慢(LINUX/HP-UX也存在此问题),甚至要5分钟、10分钟左右才能进入。这种问题在排除系统资源如CPU/IO/内存、网络等资源紧张外;经常是因为hostname......
  • postgresql 集群和同步以及企业解决方案
    pgpool-II入门教程[url]http://www.pgpool.net/docs/latest/tutorial-zh_cn.html[/url],集群教程[size=medium][color=red][b]方案1:pgpool[/b][/color][/size]pgpool:设置简单,实现SharedNothing的双机写入同步,及查询负载均衡。也可结合Slony实现双机异步复制,提高写数据性能。......
  • Docker安装Java, Apache, Redis, Tomcat, Postgresql, SSH
    [color=red]centos安装Supervisor[/color][url]http://www.alphadevx.com/a/455-Installing-Supervisor-and-Superlance-on-CentOS[/url]网络设定[b][color=darkblue]#创建网络brctladdbrbr0iplinksetdevbr0upipaddradd192.168.2.1/24devbr0#创建容器#......
  • MYSQL级联查询,包括向上向下的级联
    --名称:mysql递归查询存储过程(2014-04-05)--入:@table表名[varchar(200)]--入:@field要查询返回的字段名(例如:name,age,remark)[text]--入:@order返回结果的排序(例如namedesc,ageasc)[text]--入:@idName主键列名[varchar(200)]--入:@pidName父键列名[var......
  • PostgreSQL In BigData 大数据Postgresql
    1.BigSQL(整合了pg和hadoop的一个开源项目)[url]http://www.bigsql.org/se/[/url]2.ClouderaManagerDB[url]http://www.cloudera.com/content/cloudera/en/home.html[/url]3.Hadoopdb(耶鲁大学的一个开源项目)SQLtoMapReducetoSQL(SMS)Plann......
  • Docker安装MS SQL Server并使用Navicat远程连接
    MSSQLServer简介MicrosoftSQLServer(简称SQLServer)是由微软公司开发的关系数据库管理系统,它是一个功能强大、性能卓越的企业级数据库平台,用于存储和处理大型数据集、支持高效查询和分析等操作。SQLServer支持广泛的应用程序开发接口(API),包括T-SQL、ADO.NET、ODBC、OLE......
  • MySQL逻辑架构图
    整体架构MySQL可以分为Server层和存储引擎层两部分。不同的存储引擎(不同的表可以设置不同的存储引擎)共用一个Server层(从连接器到执行器)。查询流程连接器Command列显示Sleep表示空闲连接。如果客户端太长时间没动静,那么连接器会自动将它断开,由参数wait_timeout控制,默认值是8......
  • SQL Server 日期格式转换(Convert用法)
    [color=red][b]有时间的记得要:datetime[/b][/color]SelectCONVERT(varchar(100),CONVERT(datetime,'2012-08-0117:41:54',120),120)SQLServer中,Convert可以将日期转换成不同格式,格式控制是由CONVERT(data_type[(length)],expression[,style])中的style来完成的。下面......
  • 数据库管理工具远程连接MySQL实例服务失败Host ... is not allowed to connect to thi
    MySQL社区版数据库8.0版本添加账号、分配权限、删除账号MySQL安全连接失败问题排查......