{"id":1029,"date":"2019-06-22T13:46:28","date_gmt":"2019-06-22T04:46:28","guid":{"rendered":"https:\/\/ito-u-oti.com\/?p=1029"},"modified":"2020-07-10T17:25:25","modified_gmt":"2020-07-10T08:25:25","slug":"post-1029","status":"publish","type":"post","link":"https:\/\/ito-u-oti.com\/?p=1029","title":{"rendered":"\u3010Spring Boot\u3011\u3010Mybatis\u3011\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u30d9\u30fc\u30b9\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u5b9f\u88c5"},"content":{"rendered":"\n<p>Spring boot\u3067mybatis\u3092\u4f7f\u7528\u3059\u308b\u6642\u306b\u3001\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u30d9\u30fc\u30b9\u3068XML\u30d9\u30fc\u30b9\u305d\u308c\u305e\u308c\u306e\u8a2d\u5b9a\u3068\u3001\u30cd\u30b9\u30c8\u3057\u305f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u5bfe\u3057\u3066\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 id=\"outline__1\" class=\"wp-block-heading\">\u524d\u63d0<\/h2>\n\n\n\n<h3 id=\"outline__1_1\" class=\"wp-block-heading\"> \u5bfe\u8c61\u306eDB\u30fb\u30c6\u30fc\u30d6\u30eb <\/h3>\n\n\n\n<p>posgreSQL\u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u30c6\u30fc\u30d6\u30eb\u306f\u516c\u5f0f\u306e\u30b5\u30f3\u30d7\u30eb\u30c6\u30fc\u30d6\u30eb\u306e\u4e2d\u304b\u3089<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>country<\/li><li>city<\/li><li>address<\/li><\/ul>\n\n\n\n<p>\u3092\u4f7f\u3044\u307e\u3059\u3002<br>ER\u56f3\u304c\u516c\u5f0f\u306b\u3042\u308b\u306e\u3067\u30c6\u30fc\u30d6\u30eb\u306e\u95a2\u4fc2\u306f\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<br><a href=\"http:\/\/www.postgresqltutorial.com\/postgresql-sample-database\/\">PostgreSQL Sample Database<\/a><\/p>\n\n\n\n<h3 id=\"outline__1_2\" class=\"wp-block-heading\"> \u30aa\u30d6\u30b8\u30a7\u30af\u30c8 <\/h3>\n\n\n\n<p>country\u30c6\u30fc\u30d6\u30eb\u3092\u4eca\u56de\u30e1\u30a4\u30f3\u306e\u30c6\u30fc\u30d6\u30eb\u3068\u898b\u7acb\u3066\u3001<br>country\u304c\uff11\u306b\u5bfe\u3057\u3066city\u304c\u591a\u3068\u306a\u308b\u3088\u3046\u306b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u30cd\u30b9\u30c8\u3055\u305b\u3066\u3044\u307e\u3059\u3002<br> city\u304c\uff11\u306b\u5bfe\u3057\u3066address\u304c\u591a\u3068\u306a\u308b\u3088\u3046\u306b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u30cd\u30b9\u30c8\u3055\u305b\u3066\u3044\u307e\u3059\u3002 <br>\u307e\u305f\u3001country\u306e\u4e3b\u30ad\u30fc\u306f\u5225\u9014\u4e3b\u30ad\u30fc\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u308a\u3001\u30cd\u30b9\u30c8\u3055\u305b\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 id=\"outline__1_2_1\" class=\"wp-block-heading\">Country.java<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\npackage com.example.demo.entity;\n\nimport java.sql.Timestamp;\nimport java.util.Set;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Data;\nimport lombok.NoArgsConstructor;\n\n@Data\n@NoArgsConstructor\n@AllArgsConstructor\npublic class Country {\n\n    private CountryId id;\n\n    private String country;\n\n    private Timestamp lastUpdate;\n\n    private Set&lt;City&gt; city;\n}\n<\/pre><\/div>\n\n\n<h4 id=\"outline__1_2_2\" class=\"wp-block-heading\"> CountryId.java <\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\npackage com.example.demo.entity;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Data;\nimport lombok.NoArgsConstructor;\n\n@Data\n@NoArgsConstructor\n@AllArgsConstructor\npublic class CountryId {\n\n    private int countryId;\n\n}\n<\/pre><\/div>\n\n\n<h4 id=\"outline__1_2_3\" class=\"wp-block-heading\">City.java<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\npackage com.example.demo.entity;\n\nimport java.sql.Timestamp;\nimport java.util.Set;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Data;\nimport lombok.NoArgsConstructor;\n\n@Data\n@NoArgsConstructor\n@AllArgsConstructor\npublic class City {\n\n    private int cityId;\n\n    private String city;\n\n    private Country country;\n\n    private Timestamp lastUpdate;\n\n    private Set&lt;Address&gt; address;\n\n}\n<\/pre><\/div>\n\n\n<h4 id=\"outline__1_2_4\" class=\"wp-block-heading\">Address.java<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\npackage com.example.demo.entity;\n\nimport java.sql.Timestamp;\n\nimport lombok.AllArgsConstructor;\nimport lombok.Data;\nimport lombok.NoArgsConstructor;\n\n@Data\n@NoArgsConstructor\n@AllArgsConstructor\npublic class Address {\n\n    private int addressId;\n\n    private String address;\n\n    private String address2;\n\n    private String district;\n\n    private City city;\n\n    private String postalCode;\n\n    private String phone;\n\n    private Timestamp lastUpdate;\n\n}\n<\/pre><\/div>\n\n\n<h3 id=\"outline__1_3\" class=\"wp-block-heading\">\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u6210<\/h3>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/ito-u-oti.com\/wp-content\/uploads\/2019\/06\/spring-mybatisMapper.png\" alt=\"\" class=\"wp-image-1032\" width=\"398\" height=\"565\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>DemoMapper\u304c\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u30d9\u30fc\u30b9\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u5b9f\u88c5<\/li><li><a href=\"https:\/\/ito-u-oti.com\/post-1041\/\">DemoMapperXml\u304cXml\u30d9\u30fc\u30b9\u3067\u7d50\u5408SQL\u306b\u3088\u308b\u30de\u30c3\u30d4\u30f3\u30b0\u5b9f\u88c5<\/a><\/li><li><a href=\"https:\/\/ito-u-oti.com\/post-1037\/\">DemoMapperXmlSepalete\u304cXml\u30d9\u30fc\u30b9\u3067\u5358\u4e00SQL\u306e\u30cd\u30b9\u30c8\u306b\u3088\u308b\u30de\u30c3\u30d4\u30f3\u30b0\u5b9f\u88c5<\/a><\/li><\/ul>\n\n\n\n<h3 id=\"outline__1_4\" class=\"wp-block-heading\">Mybatis\u8a2d\u5b9a<\/h3>\n\n\n\n<h4 id=\"outline__1_4_1\" class=\"wp-block-heading\">application.properties<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n# application.properties\nspring.datasource.url=jdbc:postgresql:\/\/XXX.XXX.X.X:5432\/DBName\nspring.datasource.username=User\nspring.datasource.password=Password\nspring.datasource.driver-class-name=org.postgresql.Driver\n<\/pre><\/div>\n\n\n<h4 id=\"outline__1_4_2\" class=\"wp-block-heading\">pom.xml(dependency)<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n        &amp;lt;!-- https:\/\/mvnrepository.com\/artifact\/org.mybatis.spring.boot\/mybatis-spring-boot-starter --&gt;\n        &amp;lt;dependency&gt;\n            &amp;lt;groupId&gt;org.mybatis.spring.boot&amp;lt;\/groupId&gt;\n            &amp;lt;artifactId&gt;mybatis-spring-boot-starter&amp;lt;\/artifactId&gt;\n            &amp;lt;version&gt;2.0.1&amp;lt;\/version&gt;\n        &amp;lt;\/dependency&gt;\n\n\n        &amp;lt;!-- https:\/\/mvnrepository.com\/artifact\/org.projectlombok\/lombok --&gt;\n        &amp;lt;dependency&gt;\n            &amp;lt;groupId&gt;org.projectlombok&amp;lt;\/groupId&gt;\n            &amp;lt;artifactId&gt;lombok&amp;lt;\/artifactId&gt;\n            &amp;lt;scope&gt;provided&amp;lt;\/scope&gt;\n        &amp;lt;\/dependency&gt;\n\n        &amp;lt;!-- https:\/\/mvnrepository.com\/artifact\/org.postgresql\/postgresql --&gt;\n        &amp;lt;dependency&gt;\n            &amp;lt;groupId&gt;org.postgresql&amp;lt;\/groupId&gt;\n            &amp;lt;artifactId&gt;postgresql&amp;lt;\/artifactId&gt;\n        &amp;lt;\/dependency&gt;\n<\/pre><\/div>\n\n\n<h2 id=\"outline__2\" class=\"wp-block-heading\"> \u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u30d9\u30fc\u30b9\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u5b9f\u88c5 <\/h2>\n\n\n\n<p>\u307e\u305a\u3001\u5927\u524d\u63d0\u3068\u3057\u3066\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u30d9\u30fc\u30b9\u3067\u306f\u7d50\u5408\u3057\u305fSQL\u304b\u3089\u30cd\u30b9\u30c8\u3057\u305f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3078\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u304c\u3067\u304d\u307e\u305b\u3093\u3002<br>\u89aa\u3068\u306a\u308bSQL\u3067\u307e\u305a\u89aa\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u30de\u30c3\u30d4\u30f3\u30b0\u3057\u3001\u30cd\u30b9\u30c8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u306f\u3055\u3089\u306b\u5225\u306eSQL\u3092\u547c\u3073\u51fa\u3057\u3066\u30de\u30c3\u30d4\u30f3\u30b0\u3068\u3044\u3046\u6d41\u308c\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u89aa\u5b50\u95a2\u4fc2\u304c1\u5bfe1\u306e\u5834\u5408\uff08has-one\uff09\u306f@One\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<br>\u89aa\u5b50\u95a2\u4fc2\u304c1\u5bfe\u591a\u306e\u5834\u5408\uff08has-many\uff09\u306f@Many\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 id=\"outline__2_1\" class=\"wp-block-heading\">\u30b3\u30fc\u30c9<\/h3>\n\n\n\n<h4 id=\"outline__2_1_1\" class=\"wp-block-heading\">DemoMapper.java<\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\npackage com.example.demo.repository;\n\nimport org.apache.ibatis.annotations.Mapper;\nimport org.apache.ibatis.annotations.One;\nimport org.apache.ibatis.annotations.Many;\nimport org.apache.ibatis.annotations.Param;\nimport org.apache.ibatis.annotations.Result;\nimport org.apache.ibatis.annotations.Results;\nimport org.apache.ibatis.annotations.Select;\n\nimport com.example.demo.entity.Address;\nimport com.example.demo.entity.City;\nimport com.example.demo.entity.Country;\nimport com.example.demo.entity.CountryId;\n\n@Mapper\npublic interface DemoMapper {\n    \n    @Results(id = \"Country\", value = {\n            @Result(column = \"country\", property = \"country\"),\n            @Result(column = \"last_update\", property = \"lastUpdate\"),\n            \n            @Result(column = \"country_id\", property = \"id\",\n            one = @One(select = \"selectCountryId\")),\n            \n            @Result(column = \"country_id\", property = \"city\", \n            many = @Many(select = \"selectCity\"))\n            \/\/\u9045\u5ef6\u8aad\u307f\u8fbc\u307f\u3092\u6709\u52b9\u306b\u3059\u308b\n            \/\/many = @Many(select = \"selctCity\", fetchType = FetchType.LAZY))\n    })\n    @Select(\"SELECT * FROM country WHERE country_id = #{id}\")\n    Country selectCountry(@Param(\"id\")Integer id);\n    \n    @Results(id = \"CountryId\", value = {\n            @Result(column = \"country_id\", property = \"countryId\")\n    })\n    @Select(\"SELECT * FROM country WHERE country_id = #{id}\")\n    CountryId selectCountryId(Integer id);\n    \n    \n    @Results(id = \"City\", value = {\n            @Result(column = \"city_id\", property = \"cityId\"),\n            @Result(column = \"city\", property = \"city\"),\n            @Result(column = \"last_update\", property = \"lastUpdate\"),\n            \n            @Result(column = \"city_id\", property = \"address\", \n            many = @Many(select = \"selectAddress\"))\n    })\n    @Select(\"SELECT * FROM city WHERE country_id = #{id}\")\n    City selectCity(Integer id);\n    \n    \n    \n    @Results(id = \"Address\", value = {\n            @Result(column = \"address_id\", property = \"addressId\"),\n            @Result(column = \"address\", property = \"address\"),\n            @Result(column = \"address2\", property = \"address2\"),\n            @Result(column = \"district\", property = \"district\"),\n            @Result(column = \"postal_code\", property = \"postalCode\"),\n            @Result(column = \"phone\", property = \"phone\"),\n            @Result(column = \"last_update\", property = \"lastUpdate\"),\n            \n    })\n    @Select(\"SELECT * FROM address WHERE city_id = #{id}\")\n    Address selectAddress(Integer id);\n\n}\n<\/pre><\/div>\n\n\n<h3 id=\"outline__2_2\" class=\"wp-block-heading\">\u8aac\u660e<\/h3>\n\n\n\n<p>\u307e\u305a\u3001Spring boot\u3067Mybatis\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306b@Mapper\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u4ed8\u3051\u307e\u3059\u3002<\/p>\n\n\n\n<p>interface\u306b\uff13\u3064\u306e\u30e1\u30bd\u30c3\u30c9\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002<br>\u305d\u308c\u305e\u308c\u306b@Select\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u3067SQL\u304c\u66f8\u304b\u308c\u3066\u304a\u308a\u3001\u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3070\u308c\u305f\u6642\u306b\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u306eSQL\u304c\u547c\u3073\u51fa\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u8d77\u70b9\u3068\u306a\u308b\u306e\u306fselectCountry\u3067\u3059\u3002<br>@Results\u306eid\u5c5e\u6027\u306b\u306f\u30de\u30c3\u30d4\u30f3\u30b0\u5bfe\u8c61\u3068\u306a\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002\uff08\u30e1\u30bd\u30c3\u30c9\u306e\u623b\u308a\u578b\uff09<br>value\u5c5e\u6027\u3067\u30d5\u30a3\u30fc\u30eb\u30c9\u3068\u30c6\u30fc\u30d6\u30eb\u306e\u30ab\u30e9\u30e0\u3092\u7d10\u3065\u3051\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4e3b\u30ad\u30fc\u30ab\u30e9\u30e0\u3067\u3042\u308bcountry_id\u306f\u30de\u30c3\u30d4\u30f3\u30b0\u5bfe\u8c61\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u306f\u3001<br>CountryId\u3068\u3044\u3046\u30cd\u30b9\u30c8\u3055\u308c\u305f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u4e2d\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u8a72\u5f53\u3057\u3066\u3044\u307e\u3059\u3002<br>\u4e3b\u30ad\u30fc\u304c\u683c\u7d0d\u3055\u308c\u308bCountryId\u3068Country\u306f1\u5bfe1\u306e\u95a2\u4fc2\u3067\u3042\u308b\u305f\u3081\u3001<br>@One\u3067CountryId\u3078\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>CountryId\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3078\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u3067\u3042\u308b@Result\u306ecolumn\u5c5e\u6027\u306b\u306f\u547c\u3073\u51fa\u3059SelectSQL\u306e\u5f15\u6570\u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002<br>property\u5c5e\u6027\u306b\u306f\u89aa\u3068\u306a\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002\uff08Country\u306eid\u30d5\u30a3\u30fc\u30eb\u30c9\uff09<br> @One\u306eselect\u5c5e\u6027\u306b\u306fCountryId\u3092\u53d6\u5f97\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u540d\u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>CountryId\u3092\u53d6\u5f97\u3059\u308bselectCountryId\u306e\u5f15\u6570id\u306b\u306f\u3001@One\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u3068\u3053\u308d\u306eculumn\u5c5e\u6027\u3067\u6307\u5b9a\u3057\u305f\u30c6\u30fc\u30d6\u30eb\u30ab\u30e9\u30e0\u304c\u5165\u308a\u307e\u3059\u3002<br>\u3064\u307e\u308a\u3001SQL\u3067\u53d6\u5f97\u3057\u305f\u30ab\u30e9\u30e0\u306e\u5024\u3092\u6b21\u306eSQL\u3067\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>Country\u304b\u3089\u898b\u30661\u5bfe\u591a\u306e\u95a2\u4fc2\u3067\u3042\u308bCity\u306b\u5bfe\u3057\u3066\u306f@Many\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002<br>\u5404\u5c5e\u6027\u306e\u6307\u5b9a\u5185\u5bb9\u306f@One\u3068\u5909\u308f\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p>City\u306b\u3055\u3089\u306b\u30cd\u30b9\u30c8\u3055\u308c\u305fAddress\u306b\u5bfe\u3057\u3066\u3082\u3084\u3063\u3066\u3044\u308b\u3053\u3068\u306fCountry\u306e\u6642\u3068\u540c\u3058\u3067\u3059\u3002<\/p>\n\n\n<div class=\"pointBox\">\n<p>\u4eca\u56de\u4e3b\u30ad\u30fc\u9805\u76ee\u3060\u3051\u3092CountryId\u3068\u3057\u3066\u30cd\u30b9\u30c8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u3001CountryId\u306b\u5bfe\u3057\u3066\u518d\u5ea6\u540c\u3058SQL\u3092\u53e9\u3044\u3066@One\u306e\u4f7f\u7528\u3092\u8aac\u660e\u3057\u3066\u3044\u308b\u304c\u3001<br>\u672c\u5f53\u306f\u305d\u3082\u305d\u3082\u4e3b\u30ad\u30fc\u306f\u65e2\u306b\u53d6\u5f97\u3067\u304d\u3066\u3044\u308b\u306e\u3067<\/p>\n<pre><pre class=\"brush: java; title: ; notranslate\" title=\"\">\n@Result(column = &quot;country_id&quot;, property = &quot;id.countryId&quot;)\n<\/pre><\/pre>\n<p>\u3068\u3001\u305d\u306e\u307e\u307e\u30cd\u30b9\u30c8\u3057\u305f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u683c\u7d0d\u3067\u304d\u308b\u3002<\/p>\n<\/div>\n\n\n<h3 id=\"outline__2_3\" class=\"wp-block-heading\">\u7d50\u679c\uff08\u30c7\u30d0\u30c3\u30b0\u3067\u5909\u6570\u306e\u4e2d\u3092\u78ba\u8a8d\uff09<\/h3>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/ito-u-oti.com\/wp-content\/uploads\/2019\/06\/spring-mybatisMapper1.png\" alt=\"\" class=\"wp-image-1034\" width=\"532\" height=\"476\"\/><\/figure>\n\n\n\n<p>\u30cd\u30b9\u30c8\u3055\u308c\u305f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3078\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u304c\u51fa\u6765\u3066\u3044\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 id=\"outline__3\" class=\"wp-block-heading\"> Xml\u30d9\u30fc\u30b9\u3067\u5358\u4e00SQL\u306e\u30cd\u30b9\u30c8\u306b\u3088\u308b\u30de\u30c3\u30d4\u30f3\u30b0\u5b9f\u88c5 <\/h2>\n\n\n\n<p>\u9577\u304f\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u7d9a\u304d\u306f<a href=\"https:\/\/ito-u-oti.com\/post-1037\/\">\u5225\u8a18\u4e8b<\/a>\u3067<\/p>\n\n\n\n<h2 id=\"outline__4\" class=\"wp-block-heading\"> Xml\u30d9\u30fc\u30b9\u3067\u7d50\u5408SQL\u306b\u3088\u308b\u30de\u30c3\u30d4\u30f3\u30b0\u5b9f\u88c5<\/h2>\n\n\n\n<p> \u9577\u304f\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u7d9a\u304d\u306f<a href=\"https:\/\/ito-u-oti.com\/post-1041\/\">\u5225\u8a18\u4e8b<\/a>\u3067 <\/p>\n\n\n\n<h2 id=\"outline__5\" class=\"wp-block-heading\">\u30bd\u30fc\u30b9<\/h2>\n\n\n\n<p><a href=\"https:\/\/github.com\/itouoti12\/mybatis_nestMapper\">itouoti12\/mybatis_nestMapper<\/a><\/p>\n\n\n\n<h2 id=\"outline__6\" class=\"wp-block-heading\">\u53c2\u8003<\/h2>\n\n\n\n<p><a href=\"http:\/\/www.mybatis.org\/mybatis-3\/ja\/sqlmap-xml.html\">Mapper XML \u30d5\u30a1\u30a4\u30eb\uff08\u516c\u5f0f\uff09<\/a><br><a href=\"https:\/\/qiita.com\/d-yosh\/items\/a2bec9718bccfe15a6ae\">MyBatis Mapper \u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u306e\u4f7f\u3044\u65b9<\/a><br><a href=\"https:\/\/stackoverflow.com\/questions\/46544825\/mybatis-mapping-one-annotation-issue\">MyBatis mapping @One annotation issue<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Spring boot\u3067mybatis\u3092\u4f7f\u7528\u3059\u308b\u6642\u306b\u3001\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u30d9\u30fc\u30b9\u3068XML\u30d9\u30fc\u30b9\u305d\u308c\u305e\u308c\u306e\u8a2d [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":273,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[242,241,13,238],"class_list":["post-1029","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mybatis","tag-annotation","tag-mapper","tag-mybatis","tag-spring-boot"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/posts\/1029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1029"}],"version-history":[{"count":12,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/posts\/1029\/revisions"}],"predecessor-version":[{"id":1216,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/posts\/1029\/revisions\/1216"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/media\/273"}],"wp:attachment":[{"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1029"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}