`
wx1568847608
  • 浏览: 13782 次
文章分类
社区版块
存档分类
最新评论

mybatis中的jdbcType

 
阅读更多

在oracle中数据库中需要指定,因为,不指定,像Integer,Long,VArchar,等等都可以为null,这样插入null,mybatis就不能判断是什么数据类型,因为mybatis框架需要转化这些数据类型同数据库类型一致然后插入数据库,

那么需要在每个插入数据库字段的后面加上jdbcType

  1. <insert id="save"

  2. parameterType="com.tarena.entity.Cost">

  3. insert into cost values(

  4.  

    #{roleId},//这个就不用了,因为后台service中会手动设置uuid,不会为null,后端已经设置了,就是自己可控的,前端自己不可控,自己可控的并且设置了值,就不要判断,例如下面,下面的state值也是已经在service中设置好了,那么就不用写jdbcType了
    <update id="updateState" parameterType="map" >
        update CONTRACT_C SET
        STATE=#{state}
         where CONTRACT_ID in
         <foreach collection="ids"  item="id" open="(" close=")" separator=",">
         #{id}
         </foreach>
  5. cost_seq.nextval,

  6. #{name,jdbcType=VARCHAR},

  7. #{base_duration,jdbcType=INTEGER},

  8. #{base_cost,jdbcType=DOUBLE},

  9. #{unit_cost,jdbcType=DOUBLE},

  10. #{status,jdbcType=CHAR},

  11. #{descr,jdbcType=VARCHAR},

  12. #{creatime,jdbcType=TIMESTAMP},

  13. #{startime,jdbcType=TIMESTAMP},

  14. #{cost_type,jdbcType=CHAR}

  15. )

  16. </insert>jdbcType 时间类型当jdbcType = DATE 时, 只传入了 年月日

  17. jdbcType = TIMESTAMP ,  年月日+ 时分秒

那么如何插入null呢

第一步:

insert into table_name(_id,username) values(_id = #{_id,jdbcType=INTEGER},username=#{username,jdbcType=VARCHAR})

加上jdbcType=”数据类型“就可以了。

第二步:其实还需要在mybatis的配置文件中写入:

<settings>
<setting name="jdbcTypeForNull" value="NULL" />
</settings>

 

转载于:https://my.oschina.net/u/3043570/blog/2243874

分享到:
评论

相关推荐

    mybatis常用jdbcType数据类型.txt

    mybatis常用jdbcType数据类型.txt mybatis常用jdbcType数据类型.txt

    经过修改源码的mybatis逆向工程生成器(不生成jdbcType)

    经过修改源码的mybatis逆向工程生成器(不生成jdbcType)

    struts2+mybatis解决longblob字段问题

    在Java Web开发中,Struts2和MyBatis是两个常用的框架,分别用于处理MVC模式中的动作控制和持久层操作。在某些情况下,我们可能需要存储大量的二进制数据,如图片、视频或者大文本文件,这时MySQL数据库中的`...

    mybatis中操作日期实例分析

    MyBatis在映射XML文件中,需要对这些类型进行适当地配置,例如使用`jdbcType`属性指定数据库对应的日期类型。 2. **插入日期数据** 当我们需要插入日期数据时,可以在Mapper XML文件中的`&lt;insert&gt;`标签内使用`#{}`...

    MyBatis常用的jdbcType数据类型

    在 MyBatis 框架中,`jdbcType` 起到了桥梁的作用,使得 Java 类型的数据能够正确地转换为 SQL 语句中的对应类型。以下是对 MyBatis 常用的 `jdbcType` 数据类型的详细解释: 1. **BIT**: 用于存储单个二进制位,...

    mybatis生成中文注释

    1. **MyBatis配置**:首先,我们需要在MyBatis的全局配置文件(`mybatis-config.xml`)中进行相关设置,确保MyBatis支持中文注释。可以通过开启`mapUnderscoreToCamelCase`属性,使MyBatis自动将下划线命名转换为驼峰...

    mybatis中操作json类型数据(csdn)————程序.pdf

    `@MappedJdbcTypes(JdbcType.VARCHAR)`注解表示此TypeHandler适用于JDBC的VARCHAR类型,因为通常JSON数据以字符串形式存储在数据库中。 类中有一个静态的`ObjectMapper`实例,这是Jackson库的主要组件,用于读取和...

    Mybatis Generator将tinyint映射成Integer的解决办法.pdf

    这是因为在MyBatis中,对于tinyint(1)字段,它会将其映射为jdbcType=BIT,即使设置了`tinyInt1isBit=false`,也无法改变这一行为,因为BIT类型与Integer的映射冲突。 为了解决这个问题,有两种主要方法: 1. **...

    mybatis入门实战之枚举类型

    在Java开发中,MyBatis是一个非常流行的持久层框架,它简化了数据库操作与对象之间的映射过程。本文将深入探讨在MyBatis中如何使用枚举类型,并通过实际的项目"mybatis入门实战之枚举类型"进行讲解。这个项目提供了...

    mybatis 对clob类型转换

    总结,处理MyBatis中的CLOB类型转换,主要涉及自定义TypeHandler、配置MyBatis、在Mapper中应用TypeHandler,以及在编程时考虑异常处理和性能优化。通过这些步骤,可以有效地管理和操作CLOB类型数据,解决插入数据库...

    MyBatis3DTD约束

    9. **result**和**id**:在resultMap中定义,分别表示普通属性和主键属性,可以包含column、javaType、jdbcType等属性,指定数据库列名和Java类型。 10. **choose**、**when**、**otherwise**:条件判断语句,类似...

    3、mybatis类型的定义方式

    在MyBatis框架中,类型定义方式是其核心机制之一,它涉及到参数绑定、结果映射等关键功能。本文将详细解析MyBatis中的类型定义方式及其应用。 首先,MyBatis提供了多种类型处理器(TypeHandler),它们是MyBatis在...

    Mybatis 中 Oracle 的拼接模糊查询及用法详解

    Mybatis 中 Oracle 的拼接模糊查询及用法详解 Mybatis 是一个基于 Java 的持久层框架,提供了强大的数据库交互能力,而 Oracle 则是业界最流行的关系数据库管理系统。本文将详细介绍 Mybatis 中 Oracle 的拼接模糊...

    mybatis-annotations.zip

    在本压缩包"mybatis-annotations.zip"中,主要涉及的是MyBatis的注解使用方式。 首先,让我们详细了解一下MyBatis的注解使用: 1. **@Mapper**: 这个注解是定义Mapper接口时使用的,标记在接口上,表明这个接口是...

    详解MyBatis直接执行SQL查询及数据批量插入

    在本文中,我们将深入探讨如何使用MyBatis直接执行SQL查询以及如何进行数据的批量插入。 **一、直接执行SQL查询** 在MyBatis中,你可以通过Mapper接口和XML配置文件来直接执行自定义的SQL查询。下面是一个简单的...

    mybatis中使用oracle关键字出错的解决方法

    mybatis中使用oracle关键字出错的解决方法 MyBatis是一种非常流行的持久层框架,它提供了大量的便捷功能,帮助开发者快速高效地开发应用程序。然而,在使用MyBatis时,可能会遇到一些问题,例如使用Oracle关键字时...

    springboot整合mybatis调用oracle存储过程

    在IT行业中,Spring Boot和MyBatis是两个非常流行的框架,它们被广泛用于构建高效、简洁的Java应用程序。Oracle数据库则是企业级应用中常见的关系型数据库,存储过程是其提供的一种强大功能,允许开发者编写复杂的...

    Mybatis高级多表查询学习 -懒加载 SQL

    在IT行业中,Mybatis作为一款流行的Java持久层框架,被广泛应用在数据访问操作中。它以其灵活、高效和易于理解的特性,深受开发者喜爱。本文将深入探讨在Mybatis中进行高级多表查询,特别是涉及懒加载和SQL优化的...

    mybatis-genetor代数据库注释

    【描述】:尽管描述中没有提供具体信息,但可以推断这篇博文(链接已提供)可能详细介绍了如何配置MyBatis Generator以在生成的代码中包含数据库列的注释。这通常涉及到在generatorConfig.xml配置文件中进行特定设置...

Global site tag (gtag.js) - Google Analytics