MySQL 较复杂sql记录&MyBatis的动态sql拼接 2022-12-29 02:09 623阅读 0赞 # 1.建表技巧 先复制其他表结构类似的表,然后修改 # CREATE TABLE `device_camera` LIKE `device_bracelets` # 2.一个表中id与父id建立关系 # UPDATE `region_structure` a INNER JOIN `region_structure` b ON b.`name`=a.`parent_name` SET a.`pgid`=b.`gid` # 3.把b表的数据更新到a表 # UPDATE `region_resident_derived` a,`sheet` b SET a.`town` =b.town,a.`village`=b.village,a.`relationship`=b.relationship WHERE a.`residentid` = b.`jmid` # 4.查询当前年份(今年)某月的数据 # SELECT * FROM `activity_threemeetings` WHERE YEAR(`begintime`)=YEAR(NOW()) AND MONTH(`begintime`)='11' # 5.查询当前年份(今年)某天的数据 # SELECT * FROM `region_resident` WHERE DATE_FORMAT(createtime,'%Y-%m-%d') = '2020-12-23' # 6.格式化日期 # SELECT DATE_FORMAT(createtime,'%Y-%m-%d') createtime FROM `region_resident` # 7.将一张表里的数据插入到另一张表(未测试) # # 表结构一样 insert into 表1 select * from 表2 # 表结构不一样 insert into 表1 (列名1,列名2,列名3) select 列1,列2,列3 from 表2 # 只从另外一个表取部分字段 insert into 表1 (列名1,列名2,列名3) values(列1,列2,(select 列3 from 表2)); # 8.多字段模糊匹配 # # 根据catelog_id查,并且用一个key搜索匹配多个字段 selectc * from pms_attr_group where catelog_id=? and (attr_group_id=key or attr_group_name like %key%) # mybatis plus构造以上SQL内容(like为双百分号的,注意如果想写左右百分号就可以使用likeLeft或likeRight) String key = (String) params.get("key"); // 有三级分类,我们按三级分类查 // 并且要多字段模糊匹配:selectc * from pms_attr_group where catelog_id=? and (attr_group_id=key or attr_group_name like %key%) QueryWrapper<AttrGroupEntity> queryWrapper = new QueryWrapper<AttrGroupEntity>().eq("catelog_id", catelogId); if (StringUtils.isNoneBlank(key)) { // key不为空,继续构造 queryWrapper.and(obj -> { obj.eq("attr_group_id", key).or().like("attr_group_name", key); }); } IPage<AttrGroupEntity> page = this.page( new Query<AttrGroupEntity>().getPage(params), queryWrapper); return new PageUtils(page); 9.批量删除动态sql拼接(也可单个删除) void deleteBatchRelation(@Param("relationList") List<AttrAttrGroupRelationDto> relationList); <!-- 删除属性与分组的关联关系 (注意separator=" or "留出空格) --> <delete id="deleteBatchRelation"> DELETE FROM pms_attr_attrgroup_relation WHERE <foreach collection="relationList" item="item" separator=" or "> attr_id = #{item.attrId} AND attr_group_id = #{item.attrGroupId} </foreach> </delete>
相关 Excel 动态拼接sql 简介: 很多时候,业务给的数据是Excel,开发需要转换成对应的sql语句,使用Excel公式处理 效果展示: ![0349822f6b74481d98cd6b980e9 待我称王封你为后i/ 2023年09月26日 18:07/ 0 赞/ 306 阅读
相关 MySQL 较复杂sql记录&MyBatis的动态sql拼接 1.建表技巧 先复制其他表结构类似的表,然后修改 CREATE TABLE `device_camera` LIKE `device_bracelets` 2 系统管理员/ 2022年12月29日 02:09/ 0 赞/ 624 阅读
相关 MyBatis之动态Sql拼接 MyBatis之动态Sql拼接 前言 Mybatis 的映射⽂件中,前⾯我们的 SQL 都是⽐较简单的,有些时候业务逻辑复杂时,我们的 SQL是 动态变化的,在 深碍√TFBOYSˉ_/ 2022年10月25日 04:50/ 0 赞/ 961 阅读
相关 Mybatis动态拼接sql Mybatis动态拼接sql 需求:查询某张表时条件不确定,可能有一个,可能有多个,也可能没有条件 <!-- 动态sql --> <select id=" 墨蓝/ 2022年06月15日 05:25/ 0 赞/ 908 阅读
相关 MyBatis之sql拼接 MyBatis之sql拼接 使用模糊查询时需要用到`select FROM user WHERE username LIKE '%月%'` 普通占位符用\\{\},s 柔光的暖阳◎/ 2022年06月15日 03:19/ 0 赞/ 612 阅读
相关 Mybaties动态拼接sql大全 MyBatis中用于实现动态SQL的元素主要有: if choose(when,otherwise) trim where set for 不念不忘少年蓝@/ 2022年06月11日 09:56/ 0 赞/ 913 阅读
相关 MyBatis的动态sql的like拼接 <if test="params.nickName!=null"> and o.nick_name like conca 傷城~/ 2022年06月10日 11:57/ 0 赞/ 1007 阅读
相关 Mybatis之注解动态拼接sql Mybatis动态拼接主要是使用@SelectProvider、@UpdateProvider、@InsertProvider和@DeleteProvider这四个注解。 淩亂°似流年/ 2022年06月10日 02:55/ 0 赞/ 1137 阅读
相关 Mybatis的动态sql 前言:本项目是使用idea进行开发,数据库使用的是Mysql。 本案例是基于对users表进行动态的增删改查的案例。 项目模块图 ![在这里插入图片描述][wate 傷城~/ 2022年04月22日 02:14/ 0 赞/ 259 阅读
相关 mybatis的动态sql的一些记录 动态sql的作用:传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候,需要去拼接,稍不注意哪怕少了个空格,都会导致错误。Mybatis的动态SQL功能正是为了解决 古城微笑少年丶/ 2022年04月10日 01:29/ 0 赞/ 134 阅读
还没有评论,来说两句吧...