mybatis generator 中文注释_Mybatis之逆向工程构建项目案例分享

mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、pojo等)。有了sql表的结构后, 我们就可以利用逆向工程直接生成相应的Dao和JavaBean代码, 这样能够大大减少我们平时开发的工作量.

但是我还是觉得使用逆向工程局限性很大, 例如我们的逆向工程main方法只能执行一次, 如果再次执行就会继续生成相应的Dao和JavaBean, 除非我们把之前生成的全都删除. 这样对于代码的扩展性就不是很好, 如果我们需要对表结构进行修改, 那么我们就必须对生成的Dao和JavaBean进行一个个修改.

下面就直接进入开发阶段:

1, 数据库表结构

38bb04e398bb686168d299e041b08440.png

2,将逆向工程导入到Eclipse中

68f7d0f5908dec011ba874340f2ffdcc.png

3,使用逆向工程

逆向工程目录结构:

019bc6d67e6de387d5a23c583b6e4ebf.png

这里的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 warnings = new ArrayList(); boolean overwrite = true; File configFile = new File("generatorConfig.xml");  ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); }  public static void main(String[] args) throws Exception { try { GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap(); generatorSqlmap.generator(); } catch (Exception e) { e.printStackTrace(); }  }}

下面就是看下generatorConfig.xml中的一些配置:

1 <?xml version="1.0" encoding="UTF-8"?> 2  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5  6  7  8  9 10 11 12 13 14 15 16 17 18 21 24  25  26 27 30 31  32  33  34 35 36  37 38  39  40 41 42  43 44 45 46 47 50 51 52 53 56 57 62 63 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 82 83 84 85 86 89 90 91 92 93 94 95 
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 130 131 135 136

主要核心内容就是在这个配置文件中写入相应的配置, 具体的使用方法和配置注释中都有说明.

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 products = productDao.selectByExample(productQuery);53 for (Product product : products) {54 System.out.println(product);55 }56 57 //查询总条数58 productDao.countByExample(productQuery);59 60 //保存61 //productDao.insertSelective(product);62 63 //更新64 //productDao.updateByExampleSelective(record, example);65 //productDao.updateByPrimaryKeySelective(record);66 }67 68 }

测试类就是如上, 如果对于dao中的方法中的参数不是很详细, 那么就可以直接看dao.xml中的sql语句, 这样就可以一目了然了.

这里只是做个简单的总结, 由于dao和bean全都是自动生成的, 所以里面的代码还有必要再去多看两眼的.

想要源码的小伙伴可以私信我获取哦

私信我:“资料”,可免费领取更多学习资料

c8b435c12141e86bc7f93f0d3c1f6d47.png
d7099ca6b95afc3df4a150755ff2d59d.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值