`

mybatis插入数据是参数map且map中values为对象的处理

阅读更多
xml配置:
    <insert id="insertWinePrice" parameterType="java.util.Map">
        insert into wineprice (id,price,time) VALUES
        <foreach collection="params.keys" item="key" open="("  separator=",">
            ${key}
        </foreach>
        ,
        <foreach collection="params.values" item="v" close=")"  separator=",">
            #{v.m},#{v.p}
        </foreach>
    </insert>

接口代码:
public void insertWinePrice(@Param("params") Map<Integer,JdWinePo> map);

测试代码:
        Reader reader = Resources.getResourceAsReader("config/conf.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
        SqlSession sqlSession = factory.openSession();
        JdMapper jm = sqlSession.getMapper(JdMapper.class);
        Map<Integer,JdWinePo> map = new HashMap<Integer, JdWinePo>();
        JdWinePo j = new JdWinePo();
        j.setId("3232");
        j.setM("erwewr");
        j.setOp("fsaeet");
        j.setP("4343");
        map.put(212112,j);
        jm.insertWinePrice(map);
        sqlSession.commit();
        sqlSession.close();


这里我的理解。xml配置生成sql语句不能生成批量sql语句,所有的批量sql,只能在业务逻辑代码处进行处理。
分享到:
评论

相关推荐

    MyBatis批量插入Update

    在XML配置文件中,我们可以使用foreach标签来批量插入数据。例如: ```xml insert into user(id,account,password,active,status,name,gender,active_date,expiry_date,type,remark,group_id,disable,exam_number,...

    Mybatis 3+Mysql 实现批量插入

    在IT领域,尤其是在数据库操作与框架应用中,批量插入数据是一项常见且重要的需求。相比于单条插入,批量插入能够显著提升数据处理效率,减少数据库I/O操作,从而提高整体性能。本文将深入探讨如何利用MyBatis框架...

    总结--Mybatis传递参数的几种方法

    在 Mybatis 中,传递多个参数的一种常用做法是把多个参数都放在 Map 中,然后传递这个 Map 作为参数。例如: ```java public void insertAreaDivInfor(HashMap map); ``` 对应的 XML 代码为: ```xml insert into ...

    MyBatis批量插入(insert)数据操作

    在MyBatis中,批量插入数据是一种提高性能的有效方式,特别是在处理大量数据时。本文将详细介绍如何在MyBatis中实现批量插入,并通过一个具体的示例来说明。批量插入操作通常涉及以下关键步骤: 1. **实体类定义**...

    Mybatis批量插入数据返回主键的实现

    在Mybatis中,批量插入数据可以通过使用foreach语句来实现,而返回主键可以通过使用useGeneratedKeys和keyProperty两个属性来实现。下面是一个示例代码: 首先,在持久层的Mapper文件中,我们需要定义一个批量插入...

    Mybatis数据批量插入如何实现

    在上面的测试示例中,我们创建了一个名为`users`的列表,添加了三个用户对象,然后调用`insertUserBatch`方法来批量插入数据。 结论 本文详细介绍了如何使用Mybatis实现数据批量插入,并提供了一个简单的示例代码...

    mybatis配置数据源、别名,映射器,执行数据库的查询, 带一个参数及多个参数的查询,新增等

    在本教程中,我们将深入探讨如何配置MyBatis的数据源、别名、映射器,以及如何执行数据库查询,包括单参数和多参数查询,以及数据的新增操作。 首先,配置数据源是MyBatis系统的核心部分,它连接到数据库并处理所有...

    mybatis参数解说

    为了更好地理解这些参数如何在MyBatis中被处理,本篇将详细探讨MyBatis中参数传递的具体机制。 #### 二、简单数据类型 简单数据类型通常指的是Java中的基础数据类型及其包装类,例如`int`、`Integer`、`double`、`...

    springboot mybatis 集成多数据源 两种实现方式

    在Spring Boot应用中,集成MyBatis框架进行数据库操作是一种常见的做法。然而,当系统需要连接多个不同的数据源时,我们需要实现多数据源的支持。本文将深入探讨如何在Spring Boot和MyBatis环境下,通过两种不同的...

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

    mybatis、mybatis详细设计、mybatis配置

    它通过XML或注解的方式将SQL语句配置到Mapper接口或Mapper XML文件中,然后通过MyBatis的SqlSessionFactory创建SqlSession对象,进而执行SQL并获取结果。这种方式避免了传统的JDBC中大量重复的代码,提高了开发效率...

    map转化为list

    标题中的“map转化为list”指的是在编程中,我们经常需要将Map对象的键值对转换成List对象,以便于进一步处理或展示数据。这个过程通常涉及到Java集合框架中的转换操作,尤其是在处理数据结构时。 在Java中,Map是...

    mybatis开发步骤

    configuration.xml文件是MyBatis的配置文件,用于配置数据源相关的参数和映射文件Mapper.xml。以下是一个简单的configuration.xml文件示例: ```xml ;characterEncoding=UTF-8&amp;...

    mybatis学习之路mysql批量新增数据的方法

    MyBatis批量新增数据方法详解 MyBatis是当前流行的持久层框架之一,提供了批量新增数据的方法来提高数据insert的...MyBatis批量新增数据方法可以提高数据insert的效率,提高了实际项目中的开发效率和数据处理能力。

    Mybatis返回插入主键id的方法

    总的来说,Mybatis通过`useGeneratedKeys`和`keyProperty`属性使得我们能够在插入数据后方便地获取自动生成的主键ID,无论是直接操作Java对象还是使用参数`Map`,都能确保主键值的正确返回。这种方式极大地简化了...

    mybatis常用语句和lyaui 多条件查询加分页

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的过程,它可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。...

    SpringBoot2.X整合Mybatis代码示例

    在本文中,我们将深入探讨如何将SpringBoot 2.x与Mybatis进行整合,并通过注解方式使用Mybatis的Mapper。SpringBoot以其简化Spring应用程序开发的特性受到广大开发者的喜爱,而Mybatis则是一个轻量级的持久层框架,...

    EasyExcel 并发读取文件字段并进行校验,数据写入到新文件,批量插入数据到数据库

    5. **批量插入数据到数据库** 在数据处理过程中,往往还需要将数据批量插入到数据库。EasyExcel提供了一个`executeBatchInsert`方法,可以配合JDBC或其他ORM框架如MyBatis,将数据批量插入到数据库。首先,我们需要...

    MyBatis动态SQL foreach标签实现批量插入的方法示例

    在上面的测试方法中,我们首先获取了 SqlSessionFactory,接着获取了 SqlSession,通过 SqlSession 获取了 EmployeeMapperDymanicSQL 对象,然后添加了员工数据,并调用了 addEmps 方法批量插入数据。 四、结论 ...

Global site tag (gtag.js) - Google Analytics