一鍵生成Mybatis中的Mapper,POJO,DAO 帶注釋且可定製

如果你項目中的持久層用的是MyBatis,那麼這麼文章可能會幫你省掉以下繁瑣的操作:

  • 根據表結構手動編寫POJO
  • 編寫Mapper映射文件
  • 編寫訪問持久層的DAO
  • 多個表以上步驟重複多次

所有這些繁瑣的操作現在只需要改個jdbc配置即可一鍵幫你生成數據庫中所有表的ORM文件或指定表的ORM文件,並且可以定製化。讓你為所欲為!

先聲明下我不是通過開源的mybatis-generator實現的,因為mybatis-generator生成的信息比較冗餘或不是我想要的,如缺註釋,

下面先講我是如何實現自動根據表結構生成上述ORM文件的。然後會附上源代碼在github的URL及如何使用。

  1. 以mysql為例,mysql服務會自帶一個表information_schema用來存儲所有表的信息,其中information_schema.tables存儲所有表的基本信息,information_schema.columns存儲所有表的所有字段信息。通過這兩張表我可以查到我生成ORM文件所需的所有信息,包括表名、表註釋、字段名、字段類型、字段註釋等。
  2. 拿到這些信息再經過加工(如字段的下劃線分割變成駝峰命名,jdbcType轉化為java的數據類型等),然後將加工後的信息載入freemaker上下文。
  3. 編寫freemaker模板來定製ORM文件格式,然後結合freemaker上下文中的信息就可以一鍵生成所有表的ORM文件了。

實現該利器的大致思路如上,具體原理和使用方式請參考github:https://github.com/stathry/generator

具體怎麼使用在github首頁或README文件中有寫哦。

文章或代碼寫的糙的地方歡迎各位老司機指正或點評。如果覺得有收穫記得關注哦!

一鍵生成Mybatis中的Mapper,POJO,DAO 帶註釋且可定製


分享到:


相關文章: