`

Mybatis 动态获取字段值(不需要创建javabean)

阅读更多

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

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

 

前提:数据库有一张表,里面有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);

}

 

1
1
分享到:
评论
1 楼 wst0350 2015-11-20  
.....

相关推荐

    mybatis 动态sql及参数传递

    在实际开发过程中,我们往往需要编写复杂的SQL语句,拼接稍有不注意就会导致错误,Mybatis给开发者提供了动态SQL,大大降低了拼接SQL导致的错误。 动态标签 if标签 if标签通常用那个胡where语句,update语句,insert...

    mybatis逆向工程自动生成javabean

    这样,开发者就不需要手动编写这些基本的代码,可以专注于业务逻辑的实现。 在使用这个压缩包之前,你需要确保已经搭建了一个Java项目,并且配置了MyBatis框架。接着,你需要在项目中添加MyBatis Generator的依赖。...

    mybatis逆向生成javaBean_generatorSqlmapCustom

    通常,当我们在使用MyBatis时,需要手动创建JavaBean类来代表数据库中的表,以及对应的Mapper接口和XML配置文件来定义SQL操作。然而,这个过程可能会相当繁琐,特别是当我们处理多个表或大型项目时。 逆向生成,即...

    mybatis逆向生成javaBean

    要使用MyBatis逆向生成JavaBean,首先需要确保已安装并配置好MyBatis Generator。以下是基本步骤: 1. **设置配置文件**:创建一个名为`generatorConfig.xml`的配置文件,其中包含数据库连接信息、生成目标目录以及...

    mybatis-generator javabean

    使用MyBatis Generator时,我们通常会先创建配置文件,然后在配置文件中指定数据库连接信息、需要生成的类的路径以及生成策略等。之后,运行MBG工具,它会根据配置文件生成指定的Java源代码。这一步骤通常在项目的...

    mybatis逆向生成javaBean_generatorSqlmapCustom.zip

    【标题】"mybatis逆向生成javaBean_generatorSqlmapCustom.zip"所涉及的知识点主要集中在MyBatis框架、Java编程以及数据库逆向工程上。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。逆向...

    JavaBean+MyBatis注解,根据表结构自动生成

    0、根据表可以单独生成javaBean后缀可以自定义 1、工具本身是非常简单的,每个人都能做就是使用模板替换生成相应文件 2、工具主要针对SpringMvc+Mybatis注解+Mysql生成对象,dao、sqlDao、interface、实现接口 3、...

    MyBatis_Generator 反向生成javabean

    在JavaBean生成方面,MBG会为每个数据库表创建一个对应的实体类,其中包含表中的所有字段作为类的属性,并提供getter和setter方法。这些类通常遵循JavaBeans规范,具有良好的可读性和可维护性。此外,MBG还可以根据...

    使用注解javaBean关联数据库字段

    在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中嵌入信息的方式,这些信息可以被编译器、JVM或其他...合理利用注解,可以更好地实现JavaBean与数据库字段的关联,是现代Java开发不可或缺的一部分。

    MyBatis框架笔记1

    Map传递时,键作为字段名,值作为实际值;JavaBean传递时,属性名对应字段名;单值传递适用于简单的查询条件。 5、MyBatis的增删改查操作(动态SQL) MyBatis的动态SQL功能使得在XML映射文件中可以根据条件灵活地...

    Mybatis API文档

    SqlSession 是执行SQL和获取结果的对象,每次数据库交互都需要一个独立的SqlSession。使用完后,记得关闭SqlSession以释放资源。 四、映射器(Mapper) 映射器是Mybatis的核心组件,负责定义SQL语句和结果映射。...

    mybatis-generator下载

    例如,你可以指定是否生成Example类(用于复杂的查询条件),是否生成JavaBean的getter和setter方法,以及字段的注释风格等。 标签“mybatis generator”进一步强调了我们讨论的是MyBatis Generator,它是MyBatis...

    project_mybatis01.rar

    MyBatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集的工作。它将SQL语句与Java代码分离,使得开发者能够更加专注于SQL的编写,提高了开发效率和代码可维护性。 2. **MyBatis配置文件** MyBatis的核心...

    mybatis开发示例

    7. **参数映射**:MyBatis允许使用`#{}`语法来传递参数,这种方式不仅支持基本类型,还能处理复杂类型的参数,例如Map、JavaBean等。 8. **缓存机制**:MyBatis内置了本地缓存和二级缓存,可以提高数据读取速度。...

    mybatis自动生成器依赖jar包

    4. 如果你在生成的JavaBean中使用了注解,还需要引入对应的注解处理器库,如mybatis-annotations-x.x.x.jar。 5. 可能还需要一些其他的依赖,如Apache的Commons Logging或者SLF4J,用于日志记录。 在实际使用时,...

    mybatis-cn:mybatis二进制的中文注释以及mybatis的使用和二进制解析

    本文中的代码是从最新的MyBatis-3中拷贝过来的Mybatis使用该系列文章的目的,是从入门到精通mybatis:基于Maven的入门示例,超级详细的教程:还在手写XML和JavaBean吗? :连接中需要引入多个参数,试一下注解模式吧...

    mybatis-generator-core-1.3.2

    在使用MyBatis Generator Core 1.3.2时,你需要在项目中引入相应的依赖,然后配置generatorConfig.xml文件。在这个配置文件中,你可以指定数据库连接信息、表名、生成的代码风格等参数。通过运行MBG,它会根据配置...

    mybatis实体类自动生成工具

    2. **getter和setter方法**:用于获取和设置属性值,遵循JavaBean规范。 3. **注解**:如`@Table`表示实体类所对应的数据库表名,`@Id`标记主键字段,`@Column`定义字段名等。如果是MyBatis Plus,可能会使用`@Data`...

    mybatis笔记

    - 当查询结果字段名与 Java POJO 类属性名不一致时,需要使用 `&lt;resultMap&gt;` 显式指定映射关系。 #### 十一、动态 SQL - **MyBatis 支持的动态 SQL 元素**: - ****:条件判断。 - **&lt;choose&gt; / &lt;when&gt; / **:...

Global site tag (gtag.js) - Google Analytics