最近遇到一个这样的需求,如下:
用户可以通过自定义模板选择需要查询显示的字段,需要动态查询显示。
前提:数据库有一张表,里面有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);
}
相关推荐
在实际开发过程中,我们往往需要编写复杂的SQL语句,拼接稍有不注意就会导致错误,Mybatis给开发者提供了动态SQL,大大降低了拼接SQL导致的错误。 动态标签 if标签 if标签通常用那个胡where语句,update语句,insert...
这样,开发者就不需要手动编写这些基本的代码,可以专注于业务逻辑的实现。 在使用这个压缩包之前,你需要确保已经搭建了一个Java项目,并且配置了MyBatis框架。接着,你需要在项目中添加MyBatis Generator的依赖。...
通常,当我们在使用MyBatis时,需要手动创建JavaBean类来代表数据库中的表,以及对应的Mapper接口和XML配置文件来定义SQL操作。然而,这个过程可能会相当繁琐,特别是当我们处理多个表或大型项目时。 逆向生成,即...
要使用MyBatis逆向生成JavaBean,首先需要确保已安装并配置好MyBatis Generator。以下是基本步骤: 1. **设置配置文件**:创建一个名为`generatorConfig.xml`的配置文件,其中包含数据库连接信息、生成目标目录以及...
使用MyBatis Generator时,我们通常会先创建配置文件,然后在配置文件中指定数据库连接信息、需要生成的类的路径以及生成策略等。之后,运行MBG工具,它会根据配置文件生成指定的Java源代码。这一步骤通常在项目的...
【标题】"mybatis逆向生成javaBean_generatorSqlmapCustom.zip"所涉及的知识点主要集中在MyBatis框架、Java编程以及数据库逆向工程上。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。逆向...
0、根据表可以单独生成javaBean后缀可以自定义 1、工具本身是非常简单的,每个人都能做就是使用模板替换生成相应文件 2、工具主要针对SpringMvc+Mybatis注解+Mysql生成对象,dao、sqlDao、interface、实现接口 3、...
在JavaBean生成方面,MBG会为每个数据库表创建一个对应的实体类,其中包含表中的所有字段作为类的属性,并提供getter和setter方法。这些类通常遵循JavaBeans规范,具有良好的可读性和可维护性。此外,MBG还可以根据...
在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中嵌入信息的方式,这些信息可以被编译器、JVM或其他...合理利用注解,可以更好地实现JavaBean与数据库字段的关联,是现代Java开发不可或缺的一部分。
Map传递时,键作为字段名,值作为实际值;JavaBean传递时,属性名对应字段名;单值传递适用于简单的查询条件。 5、MyBatis的增删改查操作(动态SQL) MyBatis的动态SQL功能使得在XML映射文件中可以根据条件灵活地...
SqlSession 是执行SQL和获取结果的对象,每次数据库交互都需要一个独立的SqlSession。使用完后,记得关闭SqlSession以释放资源。 四、映射器(Mapper) 映射器是Mybatis的核心组件,负责定义SQL语句和结果映射。...
例如,你可以指定是否生成Example类(用于复杂的查询条件),是否生成JavaBean的getter和setter方法,以及字段的注释风格等。 标签“mybatis generator”进一步强调了我们讨论的是MyBatis Generator,它是MyBatis...
MyBatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集的工作。它将SQL语句与Java代码分离,使得开发者能够更加专注于SQL的编写,提高了开发效率和代码可维护性。 2. **MyBatis配置文件** MyBatis的核心...
7. **参数映射**:MyBatis允许使用`#{}`语法来传递参数,这种方式不仅支持基本类型,还能处理复杂类型的参数,例如Map、JavaBean等。 8. **缓存机制**:MyBatis内置了本地缓存和二级缓存,可以提高数据读取速度。...
4. 如果你在生成的JavaBean中使用了注解,还需要引入对应的注解处理器库,如mybatis-annotations-x.x.x.jar。 5. 可能还需要一些其他的依赖,如Apache的Commons Logging或者SLF4J,用于日志记录。 在实际使用时,...
本文中的代码是从最新的MyBatis-3中拷贝过来的Mybatis使用该系列文章的目的,是从入门到精通mybatis:基于Maven的入门示例,超级详细的教程:还在手写XML和JavaBean吗? :连接中需要引入多个参数,试一下注解模式吧...
在使用MyBatis Generator Core 1.3.2时,你需要在项目中引入相应的依赖,然后配置generatorConfig.xml文件。在这个配置文件中,你可以指定数据库连接信息、表名、生成的代码风格等参数。通过运行MBG,它会根据配置...
2. **getter和setter方法**:用于获取和设置属性值,遵循JavaBean规范。 3. **注解**:如`@Table`表示实体类所对应的数据库表名,`@Id`标记主键字段,`@Column`定义字段名等。如果是MyBatis Plus,可能会使用`@Data`...
- 当查询结果字段名与 Java POJO 类属性名不一致时,需要使用 `<resultMap>` 显式指定映射关系。 #### 十一、动态 SQL - **MyBatis 支持的动态 SQL 元素**: - ****:条件判断。 - **<choose> / <when> / **:...