- 浏览: 796894 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (480)
- Spring (12)
- Hibernate (8)
- Struts2 (4)
- Java 基础-JDK-类-接口-URI-专题研究 (27)
- 线程、线程池、多线程高并发高可用、Socket通信 (15)
- Oracle数据库 (20)
- 一般-前端js-html-其它 (25)
- JYSK-互联网金融、金融科技、支付、公司、新闻等等 (8)
- Ajax-jQuery开源框架 (7)
- Json-轻量级的数据交换格式 (14)
- JavaScript (15)
- Jsp、Servlet、Servlet+JSP+JavaBean开发模式(MVC) (18)
- Html-JavaScript-前端-调用接口 (12)
- Sql Server 2005 (6)
- 正则表达式 (2)
- Java tools (18)
- 加签与验签、加密与解密 (3)
- Ajax技术核心-xmlHttpRequest(简称XHR) (6)
- xml-数据交换格式 (3)
- 信息采集 (1)
- Http - Https - HttpClient - httpCore-SSL-TLS (10)
- HtmlParser (2)
- 标签库 (1)
- SMS (2)
- jxl-导入导出 (4)
- poi-导入导出 (2)
- 定时器Timer+Quartz (6)
- 工作流引擎JBPM3.2.3 (4)
- 工作流引擎JBPM4 (0)
- 数据源-JNDI (0)
- tomcat、weblogic等应用服务器 (6)
- 工作流引擎jbpm5 (1)
- 搜索引擎Lucene (1)
- ant (1)
- 大数据-HBase (2)
- bigtable (0)
- 数据库设计 (4)
- jquery tab (0)
- mybatis (5)
- jquery ui 1.10.3 (5)
- Jboss7 (1)
- 规则引擎drools (0)
- 工作流引擎Activiti5 (0)
- 数据库-用户自定义函数 (0)
- 数据库-存储过程 (2)
- 数据库-视图 (0)
- 数据库-触发器 (0)
- 数据库-sql (2)
- highcharts-图表工具 (1)
- sql server 2008 (6)
- 诗词-工作室 (2)
- 数据割接 (1)
- GIS-地理信息系统 (2)
- RS-遥感技术 (1)
- GPS-全球定位系统 (1)
- java整合flex_RIA开发 (3)
- C#编程语言 (5)
- webservice_axis2_cxf_soap_wsdl (2)
- sql语句 (3)
- Flex_WebService_GIS (25)
- PHP编程语言 (0)
- ExtJS4.2 (1)
- Spring mvc (5)
- EasyUI1.4.2 (16)
- 日期时间工具类 (4)
- 随机数 (1)
- Arcgis api for js (0)
- Mysql数据库 (9)
- 移动互联网 java html5/flash socket netty (0)
- API接口 (1)
- AndroidStudio (0)
- Git (2)
- Maven (5)
- IDEA (0)
- 大数据-Hadoop (2)
- JPA (0)
- Spring boot (4)
- JSF (0)
- nginx_lua_module_redis (2)
- Activiti (1)
- bootstrap (1)
- AngularJS (10)
- 数据库-索引 (1)
- Linux及其连接工具SSH (4)
- java日志管理 (2)
- islider滑动控件 (1)
- jquery (1)
- 异常处理Exception (1)
- 秒杀与类秒杀系统 (1)
- 连接数据库、数据库连接池 (4)
- 数据库-临时表 (1)
- 软件设计模式-单例、多例、代理、工厂、观察者 (3)
- 集合框架 (5)
- 人工智能--Artificial intelligence、神经网络算法、机器学习 (1)
- 分布式应用 (1)
- SOA服务-Dubbo框架-Thrift框架 (2)
- Zookeeper分布式服务框架 (2)
- intellij idea (1)
- python编程语言 (0)
- 消息队列_MQ (0)
- 消息队列_RabbitMQ (2)
- 消息队列_ActiveMQ (1)
- 消息队列_Kafka (2)
- 缓存_Redis (4)
- 缓存_Memcache (0)
- 缓存_Ehcache (0)
- ivy-ivyde (1)
- google-protocol buffers (1)
- 正向代理-正向代理服务器 (1)
- 反向代理-反向代理服务器 (1)
- JVM内存模型 (0)
- Thunder框架 (1)
- NIO-非阻塞式IO (0)
- 软件测试、性能测试 (1)
- 序列化、Serializable接口、Externalizable接口 (3)
- 线程池-ExecutorService-ThreadPoolExecutor (1)
- web.xml (1)
- java开发-java工具-实用工具网站 (6)
- 医疗 (1)
- Filter-过滤器 (2)
- Unicode码-双字节字符编码 (1)
- OpenResty (1)
- 计算机网络 (1)
- eclipse_myeclipse_intellij idea (3)
- Enum (1)
- 大数据--Big Data (1)
- 云计算--Cloud computing (1)
- Elastic-Job (1)
- Redis (2)
- 文件流-IO操作 (6)
- 计算机基础知识 (1)
- Hessian-二进制RPC协议 (1)
- String类 (3)
- BigDecimal类 (1)
- java重要接口 (1)
- ReactJS (1)
- 跨域问题 (0)
- Map (1)
- 注解 (1)
- ASCII码-单字节字符编码 (1)
- 微服务、微服务架构 (2)
- RPC协议、RPC服务、RPC框架 (0)
- java反射 (1)
- java项目之classpath (1)
- 经典算法-树 (1)
- listener-监听器 (1)
- Interceptor-拦截器 (1)
- pojo javabean (2)
- 计算机科学与技术-进阶 (1)
- 代码规范与文档编写 (1)
- UML-统一建模语言 (1)
- 对接微信、支付宝 (3)
- 压力测试 (1)
- 办公软件-Excel (1)
- 办公软件-PPT (0)
- UTF8、GBK编码 (1)
- 微服务架构:Spring Cloud架构-Dubbo架构 (6)
- Nginx (1)
- 点滴业务 (1)
- form表单-json数据-转换与接口调用 (1)
- Junit单元测试 (1)
- 大数据-Spark (1)
- 大数据-Storm (1)
- 数据库事务-Spring事务 (0)
- elasticsearch (1)
- windows (1)
最新评论
1、dao.java
2、mapper.xml
3、controller.java
public List<Map<String, Object>> selectPublicItemList(@Param(value="sqlStr") String sqlStr);
2、mapper.xml
<select id="selectPublicItemList" parameterType="String" resultType="java.util.Map"> ${sqlStr} </select>
3、controller.java
@RequestMapping(value="/getPublicOptionItemList", method = RequestMethod.GET) @ResponseBody public Map<String, Object> getPublicOptionItemList(@RequestParam(required=true,value="sqlStr")String sqlStr) { try { FlowVariableMapper flowVariableMapper=(FlowVariableMapper)BeanFactory.getBean("flowVariableMapper"); List<Map<String, Object>> list=flowVariableMapper.selectPublicItemList(sqlStr); List<Map<String, Object>> ls=new ArrayList<>();//组装后的list if(null!=list&&list.size()>0){ //ObjectMapper mapper=new ObjectMapper(); //String jsonStr=mapper.writeValueAsString(list); //循环遍历2次,拿到第一个key和第二个key Map<String, Object> map=list.get(0); int i=0; String valueStr=""; String nameStr=""; for(java.util.Map.Entry<String, Object> entry : map.entrySet()) { if(i==0){ valueStr=entry.getKey(); } if(i==1){ nameStr=entry.getKey(); } ++i; } //根据拿到的key,重新进行组装 for (Map<String, Object> map2 : list) { Map<String, Object> newMap=new HashMap<>(); newMap.put("id", map2.get(valueStr)); newMap.put("itemName", map2.get(nameStr)); newMap.put("groupId", "public"); newMap.put("selected", false); ls.add(newMap);//添加 } } Map<String, Object> mapList=new HashMap<String, Object>(); mapList.put("list", ls); return mapList; } catch (Exception e) { LOGGER.error("Error method getPublicOptionItemList", e); throw new ActivitiException("Error method getPublicOptionItemList", e); } }
发表评论
-
数据库sql、mybatis、堆栈
2016-04-01 16:00 6591、数据库方面 SQL SERVER: select r.id ... -
Mybatis配置SQL的Mapper.xml
2016-03-02 13:57 764引用参考: --MyBatis中jdbcType和javaTy ... -
mybatis针对Oracle数据库进行(单个或多个条件)批量操作(新增、修改、删除)的sql写法--mysql
2015-08-19 13:12 54771、批量新增: 方式一: <insert id ... -
ibatis3
2013-04-25 13:43 843MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持 ...
相关推荐
在对应的DAO接口中,定义一个方法,使用`@Param`注解将SQL字符串作为参数传递。 ```java public interface SomeDAO { List<InstanceModel> getInstanceModel(@Param("paramSQL") String sql); } ``` 3. **...
标题和描述所提及的问题是关于如何在Mapper.xml文件中处理字符串形式的参数,这些参数由逗号分隔,并在`AND`语句中拼接`OR`子句来实现动态查询。这种场景在处理用户多选过滤条件时非常常见,比如在一个搜索框中,...
在MyBatis框架中,有时候我们可能需要在代码中直接编写SQL语句,而不是通过XML配置文件来执行SQL。这种情况通常发生在动态SQL或者特定场景下的临时查询中。本篇文章将详细探讨如何在MyBatis中执行String类型的自定义...
例如,如果传入的参数不为空,则在SQL语句中添加相应的条件。语法结构如下: ```xml SQL片段 ``` 其中,`condition`是Java表达式,用于判断是否执行对应的SQL片段。 3. **Choose/When/Otherwise标签**: `...
例如,创建一个名为`users`的表,可能包含以下字段:`id`(整型,主键),`username`(字符串,唯一),`password`(字符串,非空),`email`(字符串)等。SQL脚本文件的作用是确保数据库中存在指定的表结构,便于...
在Mybatis框架中,mapper.xml文件是定义SQL语句、映射规则以及参数传递方式的重要组成部分。正确地使用parameterType传递参数对于开发高质量的应用程序至关重要。以下是几种常用的parameterType参数传递方式以及#和$...
通过修改BoundSql的sql字符串,我们可以实现动态SQL,比如根据条件决定是否包含某个字段的LIKE操作。例如,如果某个参数为null,我们可以将对应的WHERE子句去掉,以避免无效的查询。 以下是一个简单的例子,展示...
`mybatis-helper`工具包提供了一种动态的方式来处理这些情况,它允许开发者动态读取SQL语句,并在运行时根据业务需求动态编译和传递参数。 首先,让我们了解一下如何在MyBatis中执行自定义SQL。在MyBatis中,可以...
这极大地提高了代码的可读性和可维护性,避免了大量硬编码的SQL字符串。动态SQL主要通过`<if>`, `<choose>`, `<when>`, `<otherwise>`, `<where>`, `<set>`, `<foreach>`等标签实现。 2. **基于注解的配置**: ...
`<trim>` 标签用于对SQL字符串进行动态截取和修改,以适应不同的插入场景。 1. **`<trim>` 标签的 `prefix` 属性**: `prefix` 属性用于设置要在SQL语句前添加的内容。在例子中,它添加了 `'('`,表示在插入语句的...
在Mybatis框架中,Mapper.xml文件是定义SQL映射的关键组件,它允许开发者编写SQL语句并执行数据库操作。然而,在XML中直接使用一些特殊字符,比如大于(>)、小于(<)、等于(=)、单引号(')和双引号(")等,...
例如,设置`log4j.logger.org.apache.ibatis=DEBUG`将打印出所有执行的SQL语句及其参数,这对于调试和优化SQL性能非常有帮助。 综上所述,MyBatis基本CRUD操作涉及了数据库中的基本操作,而动态SQL则展示了MyBatis...
通过这个接口,我们可以直接调用基本的CRUD方法,无需编写SQL语句。 5. **实体类和Mapper XML**: 设计数据库表对应的Java实体类,并创建对应的Mapper XML文件。通用Mapper会根据XML中的`<resultMap>`标签自动处理...
MyBatis,作为一个优秀的Java持久层框架,极大地简化了数据库操作,它允许开发者将SQL语句直接写在XML配置文件或者注解中,实现了SQL与Java代码的解耦。而在MyBatis 3中,引入了动态SQL的功能,这正是"SQL.rar_...
- **SQL语句**:myBatis.net支持动态SQL,即可以根据传入的参数动态生成SQL语句。这使得myBatis.net在灵活性方面表现出色。 - **参数映射(Parameter Map)**:用于定义传入SQL语句的参数以及其数据类型、方向等信息...
同时,为每个Mapper创建XML映射文件,定义SQL语句。 3. **配置c3p0**:在`mybatis-config.xml`中配置c3p0的数据源,设置连接池参数。 4. **Spring与MyBatis的集成**:使用`SqlSessionFactoryBean`将MyBatis与Spring...
- `XMLScriptBuilder`处理动态SQL标签,如`if`, `choose`, `when`, `otherwise`等,生成`BoundSql`对象,表示最终的SQL字符串和参数对象。 4. **会话创建**: - `DefaultSqlSessionFactory`打开会话,创建`...
同时,要注意动态SQL的使用可能导致SQL注入问题,因此在编写时要注意参数安全,避免直接拼接字符串。 在《一头扎进MyBatis3》第六讲中,你将会详细学习如何在MyBatis的配置文件中使用这些标签,以及如何通过Mapper...
- 简化 SQL 编写:MyBatis 允许在 XML 或注解中编写 SQL,无需在 Java 代码中拼接字符串。 - 易于映射:MyBatis 提供了自动类型转换和对象映射,减少了手动处理结果集的复杂性。 - 可定制化:MyBatis 支持动态 SQL,...
MyBatis动态SQL是MyBatis框架中的一个重要特性,它允许开发者在XML映射文件或者Mapper接口中编写灵活的SQL语句,极大地提高了SQL的可维护性和可读性。动态SQL是面向对象语言中的一种模拟,它使得在SQL查询中可以根据...