最近有个同事要包装一个可以执行sql语句的功能用的是mybatis

最开始他想到的方案是拿到数据库连接再执行sql语句。

后来出了某些错误来问我,为了寻求比较快的解决方法于是我就试试了下下面的方法。

首先在Mapper添加

<select id="select" resultMap="map" parameterType="java.lang.String" >
    ${_parameter}
  </select>

parameterType为String的话  参数名就必须写_parameter

resultMap 返回类型是map型

这里的原理就是通过传入字符串来执行sql,当然了上面这个只能执行select 如果要执行插入删除更新就另外写个

大家可以封装个函数来判断是添加修改删除来执行对应的Mapper

然后在对应的dao接口添加

List<map> select(String sql);

最后就可以得到自定义sql语句查询的结果了。

@Resource  
  private MyMapper myMapper;

....

List<map> result =myMapper.select("select * from user");

OK最后就可以用其他工具类将map转成你的对象或者转成JsonString 再转成对象数组。

<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.pactera.domain.report.BasReport">

<!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
    -->
    <result column="SQL" jdbcType="CLOB" property="sql" />

</resultMap>

Mybaits自定义SQL相关推荐

  1. Mybatis Plus——以XML方式使用 Wrapper 自定义SQL时IDEA错误[**expected, got ‘${‘]解决方案

    问题描述 '(', ',', CROSS, FOR, GROUP, HAVING, INNER, INTO, JOIN, LEFT, LIMIT, LOCK, NATURAL, ORDER, PROC ...

  2. 自定义报错返回_MybatisPlus基础篇学习笔记(五)------自定义sql及分页查询

    本章目录 自定义sql 分页查询 1. 自定义sql 在dao文件中编写自定义接口,并在方法上使用注解形式注入SQL,如图所示: 第一种: 第二种 ① application.yml加入下面配置 my ...

  3. 工作流实战_27_flowable 自定义sql查询

    项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base 业务场景:在实际开发中,由于我们需要一些flowable的个性化查询,而且他们提供的ap ...

  4. 【JEECG技术文档】数据权限自定义SQL表达式用法说明

    1. 数据权限自定义SQL支持表达式 功能介绍 数据规则通过配置自定义sql来实现数据权限的控制,自定义SQL支持表达式取值 其中自定义sql 条件中字段的名称和数据库表的字段名保持一致. 角色授权 ...

  5. SpringBoot集成MyBatis-Plus自定义SQL

    1.说明 本文介绍Spring Boot集成MyBatis-Plus框架后, 基于已经创建好的Spring Boot工程, 添加自定义的SQL实现复杂查询等操作. 自定义SQL主要有两种方式, 一种是 ...

  6. nutz 自定义sql的使用

    虽然提供了Cnd,但是用起来是觉得有点不方便,然后就直接编写Sql语句.nutz提供了一些方法. Nutz.Dao 的自定义 SQL 部分的解决方案是: // 不推荐使用 用户可以硬编码 SQL 语句 ...

  7. sql数据库 订阅发布_如何使用中央发布者和多个订阅者数据库设置自定义SQL Server事务复制

    sql数据库 订阅发布 In this article, you'll learn how to setup a simple, custom distributed database replica ...

  8. 如何创建和自定义SQL Server模板

    SQL Server Templates are SQL scripts, containing SQL code, frequently used by developers and DBAs in ...

  9. MyBatis-plus执行自定义SQL

    序号 类型 地址 1 MySQL MySQL操作之概念.SQL约束(一) 2 MySQL MySQL操作之数据定义语言(DDL)(二) 3 MySQL MySQL操作之数据操作语言(DML)(三) 4 ...

最新文章

  1. 网络推广软文之文章更新对网站排名的影响!
  2. Excel日期格式在matlab中的转换
  3. Django 基础,创建一个Django,并成功在网页中运行
  4. 巧用gmail转发邮件
  5. linux Centos系统下mysql主从配置
  6. C中处理Python的Numpy数组的代码范例
  7. 什么是南向接口和北向接口?
  8. php sql注入防御方法,SQL注入防御的方法有哪些
  9. 紧密中心度(Closeness Centrality)
  10. 你想收到中国向世界发出的第一封电子邮件吗
  11. 2018——而立之年
  12. flutter 真机无法调试 sdk报错_中小团队的Flutter实践经验总结
  13. PHP微信公众号开发之:获得和缓存access_token,原理及代码
  14. 小猿圈之初识python基础知识
  15. Git系列(一)、Git基础教程【建议收藏】
  16. css使两个盒子并列_盒子模型(重点)
  17. 浅谈蚂蚁聚宝Android秒级编译
  18. c语言fseek函数的总结
  19. 趣店财报:最会赚钱的趣店亏了
  20. 1-UVM简单平台的构成与搭建

热门文章

  1. Java System类console()方法及示例
  2. python语言用什么关键字来声明一个类_Python语言和标准库(第三章:类和对象)...
  3. linux制作成后台服务,把dotnetcore 控制台app设置成linux后台服务
  4. linux 卸载sphinx,sphinx管理脚本,实现sphinx启动、关闭、重启、生成索引功能 | linux运维小站–linux系统架构_服务器运维_Linux运维工程师工作手札...
  5. [Golang]计算一个文件的MD5值
  6. CodeForces 501B——Misha and Changing Handles
  7. 402. 移掉K位数字 golang
  8. 【1】C++面试题函数引用重载宏命名空间
  9. 排序下---(冒泡排序,快速排序,快速排序优化,快速排序非递归,归并排序,计数排序)
  10. c++中STL实现演讲比赛流程