mybaits需要程式設計師自己編寫sql語句,mybatis官方提供逆向工程 可以針對單表自動生成mybatis執行所需要的程式碼(mapper。java,mapper。xml、pojo等)。有了sql表的結構後, 我們就可以利用逆向工程直接生成相應的Dao和JavaBean程式碼, 這樣能夠大大減少我們平時開發的工作量。
但是我還是覺得使用逆向工程侷限性很大, 例如我們的逆向工程main方法只能執行一次, 如果再次執行就會繼續生成相應的Dao和JavaBean, 除非我們把之前生成的全都刪除。 這樣對於程式碼的擴充套件性就不是很好, 如果我們需要對錶結構進行修改, 那麼我們就必須對生成的Dao和JavaBean進行一個個修改。
下面就直接進入開發階段:
1, 資料庫表結構
2,將逆向工程匯入到Eclipse中
3,使用逆向工程
逆向工程目錄結構:
這裡的bean和dao都是使用逆向工程自動生成的兩個包, 我們只需要將相應的Dao和Javabean複製到相應的project下即可。
看下生成Dao和Bean的程式碼:
import java。io。File;import java。util。ArrayList;import java。util。List;import org。mybatis。generator。api。MyBatisGenerator;import org。mybatis。generator。config。Configuration;import org。mybatis。generator。config。xml。ConfigurationParser;import org。mybatis。generator。internal。DefaultShellCallback;public class GeneratorSqlmap { public void generator() throws Exception{ List
下面就是看下generatorConfig.xml中的一些配置:
1 <?xml version=“1。0” encoding=“UTF-8”?> 2 <!DOCTYPE generatorConfiguration 3 PUBLIC “-//mybatis。org//DTD MyBatis Generator Configuration 1。0//EN” 4 “http://mybatis。org/dtd/mybatis-generator-config_1_0。dtd”> 5 6 主要核心內容就是在這個配置檔案中寫入相應的配置, 具體的使用方法和配置註釋中都有說明。 4, 使用逆向工程進行增刪改查操作 1 package cn。itcast;2 3 import java。util。Date;4 import java。util。List;5 6 import javax。annotation。Resource;7 8 import org。junit。Test;9 import org。junit。runner。RunWith;10 import org。springframework。beans。factory。annotation。Autowired;11 import org。springframework。test。context。ContextConfiguration;12 import org。springframework。test。context。junit4。SpringJUnit4ClassRunner;13 14 import cn。itcast。core。bean。TestTb;15 import cn。itcast。core。bean。product。Product;16 import cn。itcast。core。bean。product。ProductQuery;17 import cn。itcast。core。dao。TestTbDao;18 import cn。itcast。core。dao。product。ProductDao;19 import cn。itcast。core。service。TestTbService;20 21 @RunWith(SpringJUnit4ClassRunner。class)22 @ContextConfiguration(locations = {“classpath:application-context。xml”})23 public class TestProduct {24 25 @Resource26 private ProductDao productDao;27 28 @Test29 public void testProduct() throws Exception {30 31 //Product p = productDao。selectByPrimaryKey(1L);32 //System。out。println(p);33 34 //查詢: 按照條件查詢, 支援模糊查詢, 分頁 排序 指定欄位查, 查詢總數35 ProductQuery productQuery = new ProductQuery();36 //模糊查詢37 //productQuery。createCriteria()。andNameLike(“%” + “顯瘦” + “%”);38 //設定條件精準查詢39 //productQuery。createCriteria()。andNameEqualTo(“2016最新款的締彩楓2015秋冬新款時尚英倫風大衣簡約收腰顯瘦灰色中長款毛呢外套 灰色 S”)40 //。andBrandIdEqualTo(3L);41 42 //排序 id desc43 productQuery。setOrderByClause(“id desc”);44 45 //分頁46 productQuery。setPageNo(1);47 productQuery。setPageSize(3);48 49 //根據指定欄位查詢50 productQuery。setFields(“id, name”);51 52 List 測試類就是如上, 如果對於dao中的方法中的引數不是很詳細, 那麼就可以直接看dao。xml中的sql語句, 這樣就可以一目瞭然了。 這裡只是做個簡單的總結, 由於dao和bean全都是自動生成的, 所以裡面的程式碼還有必要再去多看兩眼的。 想要原始碼的小夥伴可以私信我獲取哦 私信我:“資料”,可免費領取更多學習資料96 97 <!—— 商品模組表 ——>98
99 <!—— 商品介紹 大欄位對映 ——>100
106 107
108
109 110 <!—— 訂單模組表 ——>111
112 <!—— 支付方式 0:到付 1:線上 2:郵局 3:公司轉帳 ——>113
125 126 127 <!—— 指定資料庫所有表 128
129 ——>130 131 <!—— 有些表的欄位需要指定java型別132
133
——>135 136 相關推薦