最近遇到一个这样的需求,如下:

用户可以通过自定义模板选择需要查询显示的字段,需要动态查询显示。

前提:数据库有一张表,里面有400多个字段。

要求:用户在前台可以自定义模板,一个模板可能对应x个字段,自定义完成(比如自定义了一个名字为 RNC话务模型),用户点击RNC话务模型,需要查询出来刚才自定义的那些字段的数据。

技术实现:用mybatis做数据层 (mybatis查询原理:查询出来的数据会封装为一个map,将字段名作为key值,数据作为value值)

具体实现:

mybatis.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.huawei.galaxy.mybatis.dao.IDeepInsightGetDataMapper">

<select id="queryFlowData" parameterType="Map" resultType="Map">

<![CDATA[

SELECT * FROM TABLE

]]>

WHERE 1 = 1

<if test="param!= null and  param != '' ">

.........................

</if>

</select>

</mapper>

dao层接口定义:

public interface IDeepInsightGetDataMapper extends IBenchMarkMapper {

/**

* 功能:查询流量高地数据

* @param param 传递参数

* @return

*/

public List<Map<String, Object>> queryFlowData(Map<String,Object> param);

}

service层接口定义:

public interface IDeepInsightService {

public List<List<Object>> getData(Map<String,Object> paramMap,TableParam pageParam);

}

Mybatis 动态获取字段值(不需要创建javabean)的更多相关文章

  1. 在OnRowDataBound或OnItemDataBound事件中获取字段值

    不管是在GridView,DataList还是Repeater控件中,其中Repeater控件,没有DataKeyNames或是DataKeyField属性,想获取记录的主键值,只好用Label或是H ...

  2. mysql 动态拼接表字段,值 mybatis 动态获取表字段

    -- 取表所有字段,自动用逗号分开 select GROUP_CONCAT(DISTINCT COLUMN_NAME) from information_schema.columns where ta ...

  3. 关于Shareppoint客户端对象模型和Shareppoint根据内部名称获取字段值的随笔

    实际上,每个SharePoint字段实际上有两个名称,一个是“标题”(Title,有时候也把它叫做“显示名称”),一个是“内部名称”(Internal Name).平时用户在列表视图界面上看到的,都是 ...

  4. Java EE数据持久化框架mybatis练习——获取id值为1的角色信息。

    实现要求: 获取id值为1的角色信息. 实现思路: 创建角色表sys_role所对应的实体类sysRole. package entity; public class SysRole { privat ...

  5. 【特性】select语句中使用字符串链接获取字段值失败

    坑1 在一个多行的表中,想把其中的一个字段值拿出来,组成一个字符串供后面使用. 按照以往,自己就如以下这么写了: declare @sql varchar(8000) set @sql='insert ...

  6. Postman接口测试动态传参——动态获取token值

    上午刚学会jmeter动态传参,下午研究了下postman也知道怎么动态获取token了. 主要就是第1行和第2行代码,第3行加上是希望Test Results有个返回值,如果不加第3行运行成功后也看 ...

  7. drupal7 覆写node-type.tpl.php获取字段值的两种方式

    字段的机读名称为:field_publication_date <!-- 下面两种方式都可以获取node字段的值--> 出版时间: <?php print date('Y-m-d', ...

  8. Jmeter接口测试动态传参——动态获取token值

    先添加一个线程组,然后在线程组下添加HTTP Request 环境变量: 线程组下添加User Defined Variables 调用变量:${变量名} 添加结果树: 记录登录后的token: 获取 ...

  9. 根据标签中动态获取的值绑定特定的class

    数据有mock数据获取 mock文件: index文件: 引入文件index: 获取数据函数: 根据获取的标签内容给定不同的样式:

随机推荐

  1. Myeclipse *.link用法

    引用路径 path=D:\\ProgramData\\MyEclipse\\adt

  2. 通过chrome识别手机端app元素--Chrome:inspector

    现实中应该有这样一种情况,就是一个app只支持手机端使用,同时他又是hybrid的,那么其中的webview部分的元素属性如何去获得呢? 使用下面的方法可以解决这个问题: 调试 Android Chr ...

  3. Eclipse导入的工程后referenced libraries中的jar包中文注释显示乱码解决方法

    Preferences-General-Workspace-Text file encoding 设置为uft-8 最后重启一下eclipse.

  4. 每天一个linux 命令:which

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:        which  查看可执行文件的位置.       whereis 查看文件的位置.         ...

  5. Bzoj 4591: [Shoi2015]超能粒子炮·改 数论,Lucas定理,排列组合

    4591: [Shoi2015]超能粒子炮·改 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 178  Solved: 70[Submit][Stat ...

  6. HIbernate学习笔记(六) 关系映射之多对多

    六.多对多 - 单向 Ø        一般的设计中,多对多关联映射,需要一个中间表 Ø        Hibernate会自动生成中间表 Ø        Hibernate使用many-to-ma ...

  7. leetcode@ [263/264] Ugly Numbers & Ugly Number II

    https://leetcode.com/problems/ugly-number/ Write a program to check whether a given number is an ugl ...

  8. HDU-4678 Mine 博弈SG函数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4678 题意就不说了,太长了... 这个应该算简单博弈吧.先求联通分量,把空白区域边上的数字个数全部求出 ...

  9. Android-Native-Server 启动和注册详细分析

    Android-Native-Server 启动和注册详细分析     以mediaService为实例来讲解: mediaService的启动入口 是一个 传统的  main()函数 源码位置E:\ ...

  10. Sublime Text 2结合VS2010配置C C++编译

    本文参考以下文章 特此谢谢 http://www.cnblogs.com/akira90/archive/2013/01/02/2842571.html 因遇到错误,浪费一个小时才解决 一.利用VS2 ...