1. 程式人生 > >mybatis generator 生成 原生 boolean 型別,而不是物件 Boolean 型別的方法

mybatis generator 生成 原生 boolean 型別,而不是物件 Boolean 型別的方法

在資料庫裡欄位型別如果定義成 bit(1) 的話,mybatis generator 在生成的模型物件中自動會把這一列對映成 java 的 Boolean 型別,由於資料庫 bit(1) 這一列是有預設值的,所以不會出現為空的情況。所以,我更希望對映成 boolean 型別,這樣一來的話,settter 和 getter 分別是:

isXXX();
setXXX(boolean b);

但是如果對映成 Boolean 的話,setter 和 getter 分別是:

getXXX();
setXXX(Boolean b);

Boolean 由於可能為空,使用起來不方便,isXXX() 一看就知道是布林型別,而 getXXX() 首先得判空,語義也不如 isXXX() 明確。但前提是資料庫裡這一列有預設值(或者程式會保證插入值),不會有空的情況。

下面講一下怎樣讓 mybatis generator 把資料庫中 bit(1) 的欄位對映成 boolean 的方法:

    <table tableName="my_table" domainObjectName="MyTable">
        <generatedKey column="id" sqlStatement="Mysql" type="post" identity="true"/>
        <columnOverride column="deleted" javaType="boolean"/>
    </table>

deleted 就是資料庫中型別為 bit(1) 的列,javaType 改為 boolean 後,生成的模型中的 deleted 欄位的型別就為 boolean 型別而不是預設的 Boolean 型別。