1. 程式人生 > >JEECG-自己用程式碼生成器生成的controller類是怎樣進行資料持久化的

JEECG-自己用程式碼生成器生成的controller類是怎樣進行資料持久化的

unitInfoService的宣告方式是這個樣的:

  1. @Autowired
  2.     private UnitInfoServiceI <span style="color:#ff0000;">unitInfoService</span>;  

檢視UnitInfoServiceI介面,程式碼如下:

  1. package jeecg.gwc.db.service.unitinfo;  
  2. import org.jeecgframework.core.common.service.CommonService;  
  3. publicinterface
     UnitInfoServiceI extends CommonService{  
  4. }  

並沒有任何方法的宣告。

再看一下UnitInfoServiceI實現類UnitInfoServiceImpl的程式碼:

  1. package jeecg.gwc.db.service.impl.unitinfo;  
  2. import org.springframework.stereotype.Service;  
  3. import org.springframework.transaction.annotation.Transactional;  
  4. import jeecg.gwc.db.service.unitinfo.UnitInfoServiceI;  
  5. import org.jeecgframework.core.common.service.impl.CommonServiceImpl;  
  6. <span style="color:#ff0000;">@Service("unitInfoService")  
  7. </span>@Transactional
  8. publicclass UnitInfoServiceImpl extends CommonServiceImpl implements UnitInfoServiceI {  
  9. }  


可以看到該類繼承了CommonServiceImpl(org.jeecgframework.core.common.service.impl.)類,實現了UnitInfoServiceI(jeecg.gwc.db.service.unitinfo.)介面

可以看到該類上方有個註解:@Service("unitInfoService") 括號裡的名稱跟Controller中service的變數名稱一致。所以應該是Spring將UnitInfoServiceImpl的物件注入到Controller類。

也就是用了UnitInfoServiceImpl的物件。

那麼這個物件中有什麼具體的方法嗎?

就要看繼承的CommonServiceImpl有哪些方法了。

看下CommonServiceImpl的具體原始碼:

  1. package org.jeecgframework.core.common.service.impl;  
  2. import java.io.Serializable;  
  3. import java.util.Collection;  
  4. import java.util.List;  
  5. import java.util.Map;  
  6. import javax.annotation.Resource;  
  7. import javax.servlet.http.HttpServletResponse;  
  8. import jeecg.system.pojo.base.TSDepart;  
  9. import org.hibernate.Session;  
  10. import org.jeecgframework.core.common.dao.ICommonDao;  
  11. import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;  
  12. import org.jeecgframework.core.common.hibernate.qbc.HqlQuery;  
  13. import org.jeecgframework.core.common.hibernate.qbc.PageList;  
  14. import org.jeecgframework.core.common.model.common.DBTable;  
  15. import org.jeecgframework.core.common.model.common.UploadFile;  
  16. import org.jeecgframework.core.common.model.json.ComboTree;  
  17. import org.jeecgframework.core.common.model.json.DataGridReturn;  
  18. import org.jeecgframework.core.common.model.json.ImportFile;  
  19. import org.jeecgframework.core.common.model.json.TreeGrid;  
  20. import org.jeecgframework.core.common.service.CommonService;  
  21. import org.jeecgframework.tag.vo.datatable.DataTableReturn;  
  22. import org.jeecgframework.tag.vo.easyui.Autocomplete;  
  23. import org.jeecgframework.tag.vo.easyui.ComboTreeModel;  
  24. import org.jeecgframework.tag.vo.easyui.TreeGridModel;  
  25. import org.springframework.stereotype.Service;  
  26. import org.springframework.transaction.annotation.Transactional;  
  27. @Service("commonService")  
  28. @Transactional
  29. publicclass <span style="color:#ff0000;">CommonServiceImpl </span>implements CommonService {  
  30.     public ICommonDao commonDao = null;  
  31.     /** 
  32.      * 獲取所有資料庫表 
  33.      * @return 
  34.      */
  35.     public List<DBTable> getAllDbTableName()  
  36.     {  
  37.         return commonDao.getAllDbTableName();  
  38.     }  
  39.     public Integer getAllDbTableSize() {  
  40.         return commonDao.getAllDbTableSize();  
  41.     }  
  42.     @Resource
  43.     publicvoid setCommonDao(ICommonDao commonDao) {  
  44.         this.commonDao = commonDao;  
  45.     }  
  46.     @Override
  47.     public <T> void save(T entity) {  
  48.         commonDao.save(entity);  
  49.     }  
  50.     @Override
  51.     public <T> void saveOrUpdate(T entity) {  
  52.         commonDao.saveOrUpdate(entity);  
  53.     }  
  54.     @Override
  55.     public <T> void delete(T entity) {  
  56.         commonDao.delete(entity);  
  57.     }  
  58.     /** 
  59.      * 刪除實體集合 
  60.      *  
  61.      * @param <T> 
  62.      * @param entities 
  63.      */
  64.     public <T> void deleteAllEntitie(Collection<T> entities) {  
  65.         commonDao.deleteAllEntitie(entities);  
  66.     }  
  67.     /** 
  68.      * 根據實體名獲取物件 
  69.      */
  70.     public <T> T get(Class<T> class1, Serializable id) {  
  71.         return commonDao.get(class1, id);  
  72.     }  
  73.     /** 
  74.      * 根據實體名返回全部物件 
  75.      *  
  76.      * @param <T> 
  77.      * @param hql 
  78.      * @param size 
  79.      * @return 
  80.      */
  81.     public <T> List<T> getList(Class clas) {  
  82.         return commonDao.loadAll(clas);  
  83.     }  
  84.     /** 
  85.      * 根據實體名獲取物件 
  86.      */
  87.     public <T> T getEntity(Class entityName, Serializable id) {  
  88.         return commonDao.getEntity(entityName, id);  
  89.     }  
  90.     /** 
  91. 相關推薦

    JEECG-自己程式碼生成器生成controller是怎樣進行資料持久化

    unitInfoService的宣告方式是這個樣的: @Autowired     private UnitInfoServiceI <span style="color:#ff0000;">unitInfoService</span>;   檢視

    Freemarker製作程式碼生成器生成mybatis.xml和java程式碼

    一、外來鍵物件簡單封裝 @Setter @Getter public class AssociationObject { private String property; private String columnPrefix; private String jav

    分享一下我的三個程式碼自動生成工具--助你解放雙手

    零、前言: 1.RecyclerView的Adapter自動生成器(含ViewHolder) 2.自定義屬性的自定義View程式碼生成器(含自定義屬性的初始化) 3.svg圖示轉換為Android可用xml生成器 最近喜歡切割字串,這三個類是近期的作品,感覺挺好用的,在此分享一下 三個工具

    使用mybatis 程式碼生成器生成基礎的mapper ,model

    程式碼生成器是由mybatis團隊開發提供的, 程式碼生產器通過配置可以生成不同型別的程式碼,程式碼包含了資料庫表對應的實體類,Mapper 介面類 ,mapper xml 檔案和example物件等,這些程式碼檔案幾乎包含了全部的單表操作。 當然對於聯表操作,還是需要自己書寫SQL 的

    基於AgileEAS.NET SOA 中介軟體領域模型資料器快速打造自己程式碼生成器

    一、前言      AgileEAS.NET SOA 中介軟體平臺是一款基於基於敏捷並行開發思想和Microsoft .Net構件(元件)開發技術而構建的一個快速開發應用平臺。用於幫助中小型軟體企業建立一條適合市場快速變化的開發團隊,以達到節省開發成本、縮短開發時間,快速適應市場變化的目的。      A

    Mybatis程式碼生成器生成的Example中的Criteria的使用,你會幾種?

    1.查詢數量 AgentOmmissionExample example = new AgentOmmissionExample(); AgentOmmissionExample.Criteria c

    使用mybatis-plus-gennretor程式碼生成器生成程式碼

    1匯入需要的jar包 <dependencies> <!-- mp依賴 mybaits

    Spring-Boot 使用 mybatis-plus-gennretor程式碼生成器生成程式碼+分頁外掛

    程式碼自動生成器 1.匯入需要的jar包 <dependencies> <dep

    程式碼隨機生成想要的資料

    各位讀者,下午好啊,寡人小美。這裡簡單介紹一款工具類,自己隨機生成一些想要的資料,話不多說,直接上菜。 目錄 1、自己造資料 2、總結 1、自己造資料 這裡面用到了列舉,如果沒記錯的話,基礎課程列舉並不是重點,甚至會一掠而過。實際工作中,列舉多

    Python 凝聚層次聚進行資料分組

    本文主要參考《Python機器學習經典例項》    在介紹凝聚層次聚類之前,我們需要先理解層次聚類(hierarchical clustering)。層次聚類是一組聚類演算法,通過不斷地分解或合併叢集來構建樹狀叢集(tree-like clusters)。層次聚類的結構可以用

    python機器學習之--凝聚層次聚進行資料分組

    1.什麼是層次聚類def perfrom_clustering(X,connectivity,title,num_clusters=3,linkage='ward'): plt.figure() model = AgglomerativeClustering(

    innerHTML動態生成table並進行資料填充

    當我們需要動態生成table,並且這些資料沒有繫結到頁面中,只是一些臨時獲得的資料,那麼這個時候要將這些資料放到table中,jstl的實現方式肯定已經不行了,那麼這時候我們可以通過innerHTML

    JEECG-Mybatis版本】springmvc+mybatis+程式碼生成器程式碼一鍵生成

    分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

    程式碼生成器——java程式碼自動生成MAVEN包和檔案

    package cn.ps; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import com.baomidou.mybatisplus.core.exceptions.Mybat

    自己寫一個ORM框架-實現生成javabean檔案--也是一個程式碼生成器的實現

    我自己實現了一遍:碼雲克隆地址:點選開啟連結 眾所周知,ORM框架有很多,例如Hibernate,MyBatis,還有BeetlSQL等等,裡面獲取有很多我們不需要的功能,本系列部落格主要教大家如何寫一個簡單的ORM框架 我們這次先講如何生成JavaBean程式碼

    自制工具:CSV程式碼生成器:自動生成CSV檔案對應的C++實體和欄位型別解析程式碼

    更有開發效率地使用CSV檔案 為了更有效率地使用CSV檔案,我製作了一個工具:Code程式碼生成器。 這個工具可以對CSV檔案進行簡單地配置,自動生成這個CSV檔案對應的C++資料結構和欄位型別解析函式程式碼。 工程專案只要加入這些自動生成的程式碼,就可以更方便地使

    【從零開始搭建自己的.NET Core Api框架】(三)集成輕量級ORM——SqlSugar:3.3 自動生成實體

    i++ 點運算 自己的 yui content project style ref 數據庫表 系列目錄 一. 創建項目並集成swagger   1.1 創建   1.2 完善 二. 搭建項目整體架構 三. 集成輕量級ORM框架——SqlSugar   3.1 搭建環境  

    程式碼來解釋可迭代性,迭代器,生成器的區別

    一. 創造器(creator) 這是我自己造的一個名詞,因為在python術語中,對只實現了__next__()方法的物件,好像沒有任何名分,為了說明,我將只實現了__next__()方法的物件稱為創造器(creator)。 class O_Next: def __init__(se

    MyBatis-Plus程式碼生成器,根據表名生成各個模組的程式碼

    根據表名生成Entity、Mapper、Mapper XML、Service、Controller 等各個模組的程式碼,程式碼如下(根據官網demo修改的),可以正常執行 package com; import com.baomidou.mybatisplus.annotation.DbTyp

    利用mybatis-generator自動生成程式碼-表對應的和配置檔案

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configu