需求:
在连接数据库的单元测试时,极可能为测试某个测试点需提前准备对应的测试数据,这时,就需要对数据库表进行初始化。在执行完测试后,有时也需要查询数据库表来验证是不是正常入库。且为了保持测试的校验完整性和现有的功能代码分开,应有自已的sqlmap和dao。
1.直接执行前端传来的任何sql语句,parameterType="String",
2.对于任何sql语句,其返回值类型无法用resultMap在xml文件里配置或者返回具体的bean类型,因此设置resultType="java.util.Map",但是Map并不保证存入取出顺序一致,
因此设置resultType="java.util.LinkedHashMap",为保证查询的字段值有序(存入与取出顺序一致)所以采用LinkedHashMap。
mapper的接口方法:
import java.util.LinkedHashMap; import java.util.List; public interface JunitBaseDao { List<LinkedHashMap<String, Object>> select(String sql); int insert(String sql); int update(String sql); int delete(String sql); }
相匹配的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="cn.webank.wfts.dao.JunitBaseDao" > <select id="select" parameterType="java.lang.String" resultType="java.util.LinkedHashMap"> ${value} </select> <insert id="insert" parameterType="java.lang.String"> ${value} </insert> <update id="update" parameterType="java.lang.String"> ${value} </update> <delete id="delete" parameterType="java.lang.String"> ${value} </delete> </mapper>
相关推荐
这篇博客“mybatis直接执行sql语句后续之一”可能探讨了如何在MyBatis中高效且有效地执行SQL操作。下面我们将深入探讨MyBatis的SQL执行机制及相关知识点。 首先,MyBatis的核心组件是SqlSessionFactory,它是创建...
MyBatis是一个强大的持久层框架,它允许开发者直接编写SQL语句,简化了数据库操作。在本文中,我们将深入探讨如何使用MyBatis直接执行SQL查询以及如何进行数据的批量插入。 **一、直接执行SQL查询** 在MyBatis中,...
在实际开发过程中,我们往往需要编写复杂的SQL语句,拼接稍有不注意就会导致错误,Mybatis给开发者提供了动态SQL,大大降低了拼接SQL导致的错误。 动态标签 if标签 if标签通常用那个胡where语句,update语句,insert...
在 Java 代码中,我们不再需要传入整个 SQL 语句,而是直接传递查询参数: ```java Map, Object> params = new HashMap(); params.put("enabled", 1); params.put("userName", "admin"); List<Map> list = xxMapper...
MyBatis 3 的 SQL 语句构建器是其核心特性之一,它提供了一种更加优雅、可读性更强的方式来构建动态 SQL。SQL 语句构建器支持多种风格的 SQL 编写,包括匿名内部类风格、Builder/Fluent 风格以及动态条件构建。 1. ...
【标题】"mybatis查询入门(log4j控制台sql语句日记输出的)"涉及的知识点主要集中在MyBatis框架的基础使用以及如何通过Log4j在控制台输出SQL语句,以便于调试和优化数据库操作。MyBatis是一个轻量级的Java持久层框架...
标题 "idea插件mybaits log 打印sql语句" 涉及的是一个针对IntelliJ IDEA的MyBatis日志插件,它的主要功能是帮助开发者在开发过程中实时查看并打印出MyBatis执行的SQL语句。这个功能对于调试和优化数据库查询非常...
Mybatis 是一个流行的Java持久层框架,它简化了数据库操作,允许开发者将SQL语句直接映射到Java方法。在开发过程中,为了调试和优化SQL性能,常常需要查看执行的SQL语句及其参数。Mybatis 提供了一种日志机制,能够...
在MyBatis中,动态SQL是其强大特性之一,允许开发者根据特定条件动态构建SQL语句。在本项目"mybatis-demo11-动态SQL语句.zip"中,我们将深入探讨如何在XML配置文件中使用MyBatis的动态SQL功能。 1. **什么是动态SQL...
【MyBatis动态SQL语句详解】 在MyBatis中,动态SQL是一种强大的功能,它允许我们在XML映射文件中根据不同的条件构建SQL语句,极大地提高了代码的灵活性和可维护性。本篇将深入探讨MyBatis的动态SQL语句,主要关注`...
3. 在服务类或DAO中,使用`mybatis-helper`提供的API加载并执行SQL,如`SqlHelper.execute()`方法,该方法接受SQL模板ID和参数,返回结果集或影响行数。 4. 参数传递可以是Map对象,键值对应SQL语句中的占位符,也...
9. **SqlSession和ResultMap**: 在执行动态SQL时,我们需要使用SqlSession对象来执行Mapper接口中的方法,并通过ResultMap来定义返回结果的映射规则。 10. **最佳实践**: 使用动态SQL可以提高代码的灵活性,但同时...
接着,定义一个Mapper接口,例如UserMapper,以及对应的XML映射文件(UserMapper.xml),用于编写SQL语句: ```java public interface UserMapper { User selectUser(int id); } ``` ```xml SELECT * FROM ...
MyBatis是一个强大的Java持久层框架,它允许开发者将数据库操作与业务逻辑分离,通过XML或注解方式定义SQL语句。在某些场景下,我们可能需要对SQL进行动态修改或者实现分页功能,这时MyBatis的拦截器机制就显得尤为...
动态SQL是MyBatis的一项强大特性,它允许根据传入的参数动态地构建SQL语句结构,从而提高SQL语句的灵活性和复用性。这对于处理复杂的查询场景尤其有用,例如根据不同的条件组合生成不同的查询语句等。 #### 三、...
MyBatis是一个流行的Java持久层框架,它允许开发者将SQL语句直接集成到XML或注解形式的映射文件中,极大地简化了数据库操作。在处理多表连接查询和查询结果分页时,MyBatis提供了强大的动态SQL功能,使得这些复杂的...
- **Mapper XML文件**:编写SQL语句和结果映射,可以进行复杂的查询和参数绑定。 - **SqlSession**:执行SQL的会话对象,通过SqlSessionFactory创建,用于执行增删改查操作。 - **ResultMap**:配置映射规则,将...
在实际开发中,我们常常遇到动态 SQL 的需求,即根据传入的参数来决定 SQL 语句的执行逻辑。本教程将深入讲解如何在 MyBatis 中使用动态 SQL 来处理这些情况。 动态 SQL 在 MyBatis 中主要通过 `<if>`、`<choose>`...
在实际开发过程中,当尝试通过动态SQL的方式实现排序功能时,可能会遇到一个常见问题:使用`order by #{sortInfo}`进行排序时,发现查询结果并未按照预期排序。例如,若传入的排序参数为`empno desc`,则期望的结果...
MyBatis的主要目的是简化数据库操作,避免繁琐的JDBC代码和手动处理参数及结果集。它采用XML或注解的方式来配置和映射基础数据类型、Map接口以及POJO(Plain Old Java Object)到数据库记录,提供了一种半自动的ORM...