{"id":3815,"date":"2024-03-13T07:32:35","date_gmt":"2024-03-13T07:32:35","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/"},"modified":"2025-07-30T21:32:32","modified_gmt":"2025-07-30T21:32:32","slug":"how-to-use-enumeration-types-in-mybatis","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/","title":{"rendered":"MyBatis Enum Configuration Guide"},"content":{"rendered":"<p>When using enum types in MyBatis, follow the steps outlined below:<\/p>\n<ol>\n<li>To create an enumeration class: You first need to create an enumeration class to represent the enumeration type you want to use, such as:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">enum<\/span> <span class=\"hljs-title class_\">Status<\/span> {\r\n    ACTIVE,\r\n    INACTIVE\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>Configure MyBatis type handlers: In the MyBatis configuration file, specify the package path of the enumeration type handler, for example:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">typeHandlers<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">typeHandler<\/span> <span class=\"hljs-attr\">handler<\/span>=<span class=\"hljs-string\">\"org.apache.ibatis.type.EnumTypeHandler\"<\/span> <span class=\"hljs-attr\">javaType<\/span>=<span class=\"hljs-string\">\"com.example.Status\"<\/span>\/&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">typeHandlers<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>Using enumeration types in mapping files: Utilize the properties corresponding to enumeration types in mapping files for querying or inserting operations, for example:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">resultMap<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"userResultMap\"<\/span> <span class=\"hljs-attr\">type<\/span>=<span class=\"hljs-string\">\"User\"<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">result<\/span> <span class=\"hljs-attr\">property<\/span>=<span class=\"hljs-string\">\"status\"<\/span> <span class=\"hljs-attr\">column<\/span>=<span class=\"hljs-string\">\"status\"<\/span> <span class=\"hljs-attr\">javaType<\/span>=<span class=\"hljs-string\">\"com.example.Status\"<\/span>\/&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">resultMap<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>Using enumeration types in Java code: By directly using enumeration types in Java code, MyBatis will automatically convert the enum types to values in the database, for example:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">User<\/span> <span class=\"hljs-variable\">user<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">User<\/span>();\r\nuser.setStatus(Status.ACTIVE);\r\nuserMapper.insertUser(user);\r\n<\/code><\/pre>\n<p>By following the steps above, you can use enum types for database operations in MyBatis. It is important to ensure that the names of enum types correspond to the stored values in the database so that MyBatis can properly handle the conversion.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When using enum types in MyBatis, follow the steps outlined below: To create an enumeration class: You first need to create an enumeration class to represent the enumeration type you want to use, such as: public enum Status { ACTIVE, INACTIVE } Configure MyBatis type handlers: In the MyBatis configuration file, specify the package path [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[2690,2691,2688,1459,2692],"class_list":["post-3815","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-enum","tag-enumeration","tag-java-persistence","tag-mybatis","tag-type-handler"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MyBatis Enum Configuration Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Complete guide to using enum types in MyBatis. Simple steps to set up enum classes and configure type handlers for your database mappings.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MyBatis Enum Configuration Guide\" \/>\n<meta property=\"og:description\" content=\"Complete guide to using enum types in MyBatis. Simple steps to set up enum classes and configure type handlers for your database mappings.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-13T07:32:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-30T21:32:32+00:00\" \/>\n<meta name=\"author\" content=\"Sophia Anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sophia Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/\"},\"author\":{\"name\":\"Sophia Anderson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\"},\"headline\":\"MyBatis Enum Configuration Guide\",\"datePublished\":\"2024-03-13T07:32:35+00:00\",\"dateModified\":\"2025-07-30T21:32:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/\"},\"wordCount\":152,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"enum\",\"enumeration\",\"Java persistence\",\"MyBatis\",\"type handler\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/\",\"name\":\"MyBatis Enum Configuration Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-13T07:32:35+00:00\",\"dateModified\":\"2025-07-30T21:32:32+00:00\",\"description\":\"Complete guide to using enum types in MyBatis. Simple steps to set up enum classes and configure type handlers for your database mappings.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MyBatis Enum Configuration Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\",\"name\":\"Sophia Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"caption\":\"Sophia Anderson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MyBatis Enum Configuration Guide - Blog - Silicon Cloud","description":"Complete guide to using enum types in MyBatis. Simple steps to set up enum classes and configure type handlers for your database mappings.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/","og_locale":"en_US","og_type":"article","og_title":"MyBatis Enum Configuration Guide","og_description":"Complete guide to using enum types in MyBatis. Simple steps to set up enum classes and configure type handlers for your database mappings.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-13T07:32:35+00:00","article_modified_time":"2025-07-30T21:32:32+00:00","author":"Sophia Anderson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Sophia Anderson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/"},"author":{"name":"Sophia Anderson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30"},"headline":"MyBatis Enum Configuration Guide","datePublished":"2024-03-13T07:32:35+00:00","dateModified":"2025-07-30T21:32:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/"},"wordCount":152,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["enum","enumeration","Java persistence","MyBatis","type handler"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/","name":"MyBatis Enum Configuration Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-13T07:32:35+00:00","dateModified":"2025-07-30T21:32:32+00:00","description":"Complete guide to using enum types in MyBatis. Simple steps to set up enum classes and configure type handlers for your database mappings.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-enumeration-types-in-mybatis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MyBatis Enum Configuration Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30","name":"Sophia Anderson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","caption":"Sophia Anderson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=3815"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3815\/revisions"}],"predecessor-version":[{"id":148482,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3815\/revisions\/148482"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=3815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=3815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=3815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}