- 不管是在Hibernate或者MyBatis Framework , 需要有DAO、VO、mapping映射檔、config設定檔等檔案幫我們完成ORM
- 在設定檔的部分主要含三個部分 , 資料庫連線設定 、匯入映射檔、以及其他設定
- 在映射檔的部分包含VO物件與資料庫Table的對應關係
- VO物件主要就是table的描述 , 一個VO類別類似一個table的 schema , 一個VO物件代表一筆資料
- DAO是最靠近資料庫的類別, 通常是一個Table對應一個DAO 為求方便管理 , 所有對資料庫的操作(增刪改查) 皆包含在此 , DAO類別也可避免framework直接操作資料庫 , 未來需要抽換framework時才方便 , 使用者在操作時也未必直接操作dao物件 , 反而是service物件 來完成資料庫操作 , service物件可能還包含資料庫外的其他操作。
- Spring 整合了hibernate 或者 Mybatis的部分 , Spring 提出了 IOC與depency injection的作法 , 並且發揚AOP概念的許多做法
- 在建立Hibernate 與 Spring 的設定部分, 主要有三種作法 , 此三種方法可並存
- XML 設定
- Annotation註解
- Java Config
- 此篇接續繼續完成 Mybatis , 利用 generator.xml 自動產生 mapper(即dao) 、 vo 、example ....等物件 , 並且整合 Spring
- example 即是用寫程式的方式完成sql組合
- POM.xml 給予maven 設定 , 下載generator
- 準備好以下資料夾(new package)
- 安裝 Mariadb 10 或任一種DB , 建立資料庫 MYDB 與 table user
CREATE TABLE `user` (
`id` int(18) NOT NULL,
`name` varchar(20) NOT NULL,
`pwd` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
- 設定 generatorConfig.xml , 包含db連線 , 預產生之程式碼放置路徑 , 對象table
- 設定完畢後進行指令操作 , 找到你的jar路徑與generatorConfig.xml執行檔如下
- java -jar C:\maven_repository\org\mybatis\generator\mybatis-generator-core\1.3.2\mybatis-generator-core-1.3.2.jar -configfile C:\jboss_workspace\SSHBaseApp\src\main\resources\generatorConfig.xml -overwrite
- 這樣mybatis的部分已算完成 , 接著整合在spring裡 , 由spring控制資料庫連線
- 透過JNDI NAME連DB , 也可以用下方註解的方式連線 , jndi name 為 java:/MYDB
- 將dataSource交由Spring控制 , 並且將 mappings目錄下的所有xml映射檔交由Spring控制, 因此這此專案中幾乎是用不到mybatis的設定檔
- classpath:mappings/*.xml
- 為了要建立dataSource , 需先再納入3個jar到pom.xml裡
- 最後要完成jndi註冊 , 此專案的伺服器用的是 jboss , 需在jboss註冊 jndi name
- 第一篇安裝jboss eap時含有簡易的jboss , 至jboss目錄下尋找 standalone.xml
C:\jbdevstudio\runtimes\jboss-eap\standalone\configuration - 新增 datasource 如下 : jndi name : java:/MYDB
- 加入mariadb的driver , 以及新增自訂的module來源
- 編輯module.xml 將 mariadb 的jar 匯入即完成jndi name的註冊
- 啟動jboss 無異狀 , 各功能正常載入
沒有留言:
張貼留言