欢迎来到我的的博客园,祝大家学有所成,早点实现自己的人生理想。

MyBatis中使用实体中使用枚举,数据库中使用数值

一、简介

  本文主要讲MyBatis中使用实体中使用枚举,数据库中使用数值的解决方案。正常直接使用会报错,需要添加typeHandlers在mybatis-config.xml中。

二、解决方案

  如下:千万注意configuration中typeHandlers和其它节点之间的放置顺序。否则会出错。

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--配置  -->
<configuration>
    <!--枚举处理-->
    <typeHandlers>
        <typeHandler handler="org.apache.ibatis.type.EnumOrdinalTypeHandler" javaType="com.test.domain.enums.EffectAppEnum"/>
        <typeHandler handler="org.apache.ibatis.type.EnumOrdinalTypeHandler" javaType="com.test.domain.enums.ModuleEnum"/>
        <typeHandler handler="org.apache.ibatis.type.EnumOrdinalTypeHandler" javaType="com.test.domain.enums.ReplaceModeEnum"/>
        <typeHandler handler="org.apache.ibatis.type.EnumOrdinalTypeHandler" javaType="com.test.domain.enums.TriggerTypeEnum"/>
    </typeHandlers>

    <!--配置环境  -->
    <environments default="development">
        <environment id="development">
            <!--事务管理  -->
            <transactionManager type="JDBC"/>
            <!--数据源 通过Properties加载配置 -->
            <dataSource type="POOLED">
                <!--驱动driver  -->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <!--连接URL  -->
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8&amp;useUnicode=true&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;allowMultiQueries=true"/>
                <!--用户名  -->
                <property name="username" value="root"/>
                <!--密码  -->
                <property name="password" value="1234567"/>
            </dataSource>
        </environment>
    </environments>
    <!--建立映射  -->
    <mappers>
        <mapper resource="mappers/InitMapper.xml"/>
    </mappers>
</configuration>
复制代码

 

posted @   宋兴柱  阅读(2199)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示