1. 程式人生 > >mybatis generator一對一對映,一對多對映,批量插入,批量更新

mybatis generator一對一對映,一對多對映,批量插入,批量更新

mybatis-generator這是原來的github地址
現在在此基礎上添加了一對一和一對多對映配置,配置在table標籤上
如果需要一對一配置生成,需要新增外掛配置
在context中新增如下配置

<!-- 生成一對一配置 -->
<plugin type="cc.bandaotixi.plugins.OneToOnePlugin"></plugin>

一對多配置如下

<!-- 生成一對多配置 -->
<plugin type="cc.bandaotixi.plugins.OneToManyPlugin"></plugin
>

批量插入和批量更新

<plugin type="cc.bandaotixi.plugins.BatchInsertPlugin"></plugin>
<plugin type="cc.bandaotixi.plugins.BatchUpdatePlugin"></plugin>

如果需要把資料庫註釋新增到java檔案中,配置如下

<commentGenerator type="cc.bandaotixi.plugins.BDTCommentGenerator">
    <property name="javaFileEncoding"
value="UTF-8"/> <property name="suppressDate" value="true"/> <property name="suppressAllComments" value="false" /></commentGenerator>

那麼配置一對一表時應這麼配置

<table tableName="t_test" domainObjectName="TEst">
    <generatedKey column="test_id" sqlStatement="MySql" identity
="true" />
<oneToOne mappingTable="t_test" column="test_id" joinColumn="parent_test_id" where="t_test.is_deleted=0" /> </table>

配置一對多表時

<table tableName="t_test" domainObjectName="Test">
    <generatedKey column="test_id" sqlStatement="MySql" identity="true" />
    <oneToMany mappingTable="t_test" column="test_id" joinColumn="parent_test_id" where="t_test.is_deleted=0" />
 </table>

下面補上全部配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<!--
生成mapper命令
java -jar mybatis.jar -configfile generatorConfig.xml -overwrite
-->
<generatorConfiguration>
    <classPathEntry location="C:\Users\administrator\.m2\repository\mysql\mysql-connector-java\5.1.39\mysql-connector-java-5.1.39.jar" />
    <context id="appInfo" targetRuntime="MyBatis3">
        <property name="javaFileEncoding" value="UTF-8"/>
        <!-- 生成一對一配置 -->
        <plugin type="cc.bandaotixi.plugins.OneToOnePlugin"></plugin>
        <!-- 生成一對多配置 -->
        <plugin type="cc.bandaotixi.plugins.OneToManyPlugin"></plugin>
        <plugin type="cc.bandaotixi.plugins.BatchInsertPlugin"></plugin>
        <plugin type="cc.bandaotixi.plugins.BatchUpdatePlugin"></plugin>
        <commentGenerator type="cc.bandaotixi.plugins.BDTCommentGenerator">
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="false" />
        </commentGenerator>
        <jdbcConnection connectionURL="jdbc:mysql://localhost:3307/test?useUnicode=true&amp;characterEncoding=utf-8&amp;useSSL=true" driverClass="com.mysql.jdbc.Driver" password="test" userId="root" />
        <!-- 資料表對應的實體層 -->
        <javaModelGenerator targetPackage="com.entity"
            targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true" />
            <property name="isMergeable" value="false"/>
        </sqlMapGenerator>

        <!-- 在ibatis2 中是dao層,但在mybatis3中,其實就是mapper介面 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.dao" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <table tableName="t_test" domainObjectName="Test">
            <generatedKey column="test_id" sqlStatement="MySql" identity="true" />
            <oneToMany mappingTable="t_test" column="parent_est_id" joinColumn="test_id" where="t_test.is_deleted=0" />
                        <!--對映的表必須配置table-->
        </table>
    </context>
</generatorConfiguration>

值得注意的是,如果使用批量更新功能需要在連線的配置上新增allowMultiQueries=true
如果你比較懶,不想編譯程式碼也可以直接下載,但是需要一個積分
如果需要進一步新增外掛,請fork郗瑞強MybatisGenerator工具
如果有問題或者BUG請發郵件到:[email protected]
感謝

相關推薦

mybatis generator一對一對映一對對映批量插入批量更新

mybatis-generator這是原來的github地址 現在在此基礎上添加了一對一和一對多對映配置,配置在table標籤上 如果需要一對一配置生成,需要新增外掛配置 在context中新增如

訂單和訂單詳情的一對一 一對對映

我們知道,訂單和訂單詳情是一對多的關係,所以在訂單Bean(OrderBean)中包含一個訂單詳情Bean(OrderDetailBean)的集合. 開發步驟: 1、先建好OrderDetailBean 1 package com.november.query.zuoye1; 2 3

Mybatis之高階對映一對對映

一對多對映(兩種方式) 三張表關聯查詢。當然resultType也能實現,需要將所查詢的資訊定義到一個pojo(詳情見一對一對映中的resultType),這裡講的是resultMap。 需求:查詢人員、部門資訊並關聯查詢其父級部門資訊。 隨意定義資料庫的

hibernate的關聯一對(級聯新增級聯查詢普通刪除)

一、什麼是關聯(association) 1、關聯指的是類之間的引用關係。如果類A與類B關聯,那麼被引用的類B將被定義為類A的屬性。 2、關聯的分類:關聯可以分為一對一、一對多/多對一、多對多關聯 關聯是有方向的 關聯的關鍵點都在外來鍵上 二、如何建立一對多雙向

MyBatis關聯對映關係一對一一對

“縱許悠揚度朱戶,終愁人影隔窗紗” 前言 客觀世界中的物件很少有孤立存在的,例如班級,往往與班級的學生存在關聯關係,如果得到某個班級的例項,那麼應該可以直接獲取班級對應的全部學生。反過來,如果已經得到個學生的例項,那麼也應該可以訪問該學生對應的班級。這種例項之間的互相訪問就是關聯關係

【轉自】mybatis入門基礎----高階對映(一對一一對)

  轉自:http://www.cnblogs.com/selene/p/4627446.html 可參考https://blog.csdn.net/liu_yanzhao/article/details/78573023 閱讀目錄 一:訂單商品資料模型 二、一

Mybatis 學習筆記(四)——關聯(對映)關係(一對一一對

一、背景知識    在介紹對映關係之前需要我們對 resultMap 要足夠了解。在 resultMap 中有如下節點可配置: id :唯一標識列,column 為資料庫ID列,property為 POJO 的id屬性,注意在查詢出的結果集中每一列都必須不一樣

# Mybatis(四)表間關係分析高階對映(一對一一對) 菜鳥日記--day05(下_02)

Mybatis(四)表間關係分析,高階對映(一對一,一對多,多對多) 菜鳥日記–day05(下_02) 花了很多時間,去看sql複雜查詢,更新慢了 電腦斷電寫的太急,綠色補更 一、表間關係分析 1.分析資料庫表的方法 思路: 需要分模組的對多張表進行邏輯分析 表記錄

mybatis基礎搭建完成一對一一對對映配置

專案結構截個圖:1.首先建立一個java專案,新增mybatis的jar包(mybatis-3.4.5.jar)以及連結資料庫的jar包(mysql-connector-java-5.1.44-bin.jar)2.先建立一個mybatis的配置檔案,mybatis-confi

Mybatis學習(四)————— 高階對映一對一一對對映

一、單向和雙向     包括一對一,一對多,多對多這三種情況,但是每一種又分為單向和雙向,在hibernate中我們就詳細解析過這單向和雙向是啥意思,在這裡,在重複一遍,就拿一對多這種關係來講,比如有員工和部門,一個部門中有多個員工,從部門方看,是一對多關係,而多名員工屬於一個部門,是多對一關係,那麼如果我

mybatis對映關係查詢(一對一一對

初學mybatis的同學們都會覺得mybatis比較麻煩,修改sql語句不能熱部署,對映關係配置困難。這些問題都會阻礙同學們學習的步伐,為了讓同學們更快的瞭解mybatis對映關係配置,我特意做了個demo讓同學們去參考,話不多說直接上原始碼: 資料表: -- ---

MyBatis對映檔案和註解的關係查詢(一對一一對

對映關係的查詢 一對一查詢:(案例--人和卡) User實體類 package com.entity; public class User { private int uid;

MyBatis 學習(五) 一對一對映 一對對映

案例使用兩張表 一張user使用者表 對映關係分析 首先,站在訂單的角度考慮: 一張訂單對應一個使用者,這是一對一 然後,站在使用者的角度考慮: 一個使用者可以有多個訂單,這是一對多 那麼SQL語句該如何寫? 還記得外

MyBatis框架的學習(五)——一對一關聯對映一對關聯對映

在實際開發中我們不可能只是對單表進行操作,必然要操作多表,本文就來講解多表操作中的一對一關聯對映和一對多(或多對一)關聯對映,至於多對多關聯對映實質上也是兩個一對多(或多對一)關聯對映,所以在這裡我並不打算講解。先從一對一關聯對映講起。本文案例程式碼的編寫是建立

mybatis的面試一對一一對的mapper.xml配置

分享圖片 AR 圖片 info 傳統 soc tail sso collect 使用springboot完成一對一,一對多: https://blog.csdn.net/KingBoyWorld/article/details/78966789 傳統的mapper文件中的一

Mybatis一對對映查詢

一、常規對映  <!-- 一對多對映,根據訂單查詢訂單明細出來 extends:繼承resultMap,如果是垮namespace,需要加上namespace名 --> <resultMap type="orders" id="order

mybatis實現一對一一對關聯查詢

轉自:https://blog.csdn.net/m0_37787069/article/details/79247321 1、一對一 關鍵字:association 作用:針對pojo物件屬性的對映       property:pojo的屬性名   &

mybatis一對一一對 註解版

下面三個案例都需要在xml中配置對映:  <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "h

mybatis-高階結果對映一對

在一對多的關係中, 主表的資料回對應關聯表中的多條資料。 因此, 查詢時就會查詢出多條結果, 所以, 向類似的情況我們會使用 List 來進行儲存關聯表中獲取到的資訊。 1 資料準備 建立以下的名為 mybatis 的資料庫, 並在其下建立4個表。

springboot極簡使用mybatis實現一對一一對查詢

繁重的mybatis配置經常讓人頭痛,今天總結一下簡單地使用mybatis 先建好表 CREATE TABLE IF NOT EXISTS `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nick_name` varchar(50)