一、mybatis-generator生成數據對象
確保mybatis的generatorConfig.xml配置文件和datasource.properties文件都沒有問題。
雙擊右側已經下載安裝好的mybatis-generator插件下的generate命令。
Paste_Image.png
這時下方運行窗口會輸出【BUILD SUCCESS】,如圖:
Paste_Image.png
這時左側的項目結構:
- 在dao包下會多出對應數據表的各種增刪改查API;
- pojo包下會多出和數據庫表對應的對象;
- 在resources目錄下會多出mappers包,包下是與dao層接口相對應的實現xml文件,每個xml對應一個數據庫表接口。
Paste_Image.png
Paste_Image.png
現在以Cart表為例,依次截圖:
pojo:
Paste_Image.png
dao:
Paste_Image.png
mappers:
Paste_Image.png
以上就是mybatis-generator插件執行后所自動生成的內容。大大方便了我們程序員開發。在此給mybatis團隊一個大大的贊!
二、時間戳優化
之前我在建數據庫的時候,為每個表創建了【create_time】和【update_time】字段,其中【create_time】是這條記錄被創建的時間,而【update_time】是這條記錄被更新的時間。這兩個字段,是業界普遍公認的良好做法,當我們在查一些線上的業務邏輯問題的時候,這兩個字段能夠幫助我們快速鎖定問題點,是非常非常有用的!
那么,因為這兩個字段不可或缺,但作為程序員,我們并不希望每次進行數據庫的插入還要特地關注這兩個字段,未免太繁瑣了。最好是,我們不在業務上關注這兩個字段,而是數據庫能自動在我們每次插入數據的時候更新它們。所以呢,接下來,就讓數據庫來幫助我們解決這個問題吧。
以mappers包下的CartMapper.xml為例:
找到創建和更新的sql。
- 創建的sql
Paste_Image.png
將原先的create_time和update_time對應的value,改成mysql內置的獲取當前時間函數now()。如下圖:
Paste_Image.png
同理,其他的insert也這么改。
- 更新的sql
Paste_Image.png
因為是更新,所以我們只需要讓數據庫更改update_time字段就可以了,create_time不用管。
同理,其他的update也這么改。