本文共 3481 字,大约阅读时间需要 11 分钟。
Mybatis Generator(MBG),下面我们统称为MBG,是一个Mybatis和iBatis的代码生成器。他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。这样减少了项目新建时各种配置对象,配置文件和数据库交互的麻烦。 MBG的解决了一些数据库中比较重要的操作,如CRUD(插入,查询,更新,删除)。
有关Mybatis具体生成事项,可以参考
Mybatis MBG设计用于开发环境中的交互,可以用在Ant 任务,Maven插件,持续集成环境。有关Mybatis的一些注意事项包括如下:使用MBG的基本步骤
1、创建和补全Mybatis MBG的配置文件,你至少要指定以下内容2、把配置文件保存在方便的位置
3、运行MBG配置文件,可以通过Ant,Maven,Java代码等 4、修改Mybatis的一些配置,以便自己能够使用MBG生成的代码1、借用原来的之前的,我们创建me.aihe.testdao包,具体结构如下。
2、创建MBG配置文件,如果使用Idea集成开发环境,可下载Mybatis plugin,省了不少功夫,极大的方便了我们的操作。
3、修改MBG配置文件内容如下
注意:在<commentGenerator>里面有个suppressAllComments的属性,如果填写为true的话,所有生成的模型文件虽然会没有注释,但是Mapper.xml不会覆盖,而是追加在后面,会导致运行出错。建议设置为false
4、运行MBG
运行方式有很多种,基于Ant Task,Maven 插件,Java程序等,这里我们使用Maven Plugin。主意:建议大家下载Idea的Maven Helper插件,方便了很多maven的操作。 配置Pom.xml文件,添加MBG插件org.mybatis.generator mybatis-generator-maven-plugin 1.3.5 ${basedir}/src/main/resources/mybatis-generator.xml
5、查看结果
6、测试生成的代码
我们的数据库内容如下测试程序
@Test public void test11(){ InputStream inputStream = null; SqlSession sqlSession = null; try { inputStream = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory mSqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); sqlSession = mSqlSessionFactory.openSession(); TestMapper testMapper = sqlSession.getMapper(TestMapper.class); TestExample testExample = new TestExample(); TestExample.Criteria criteria = testExample.createCriteria(); criteria.andContentLike("%内容%"); ListtestList = testMapper.selectByExample(testExample); System.out.println(testList);// Good good = goodMapper.getGoodAndCouponMap2(1);// System.out.println(good); sqlSession.commit(); } catch (IOException e) { e.printStackTrace(); } finally { if (sqlSession != null) { sqlSession.close(); } } }
运行结果如下:
Mybaitis Generator有一些官方的插件,可以更好的定制生成的文件内容。
//缓存插件,生成的Mapper.xml文件中添加缓存配置//生成的Model文件,加上toString方法 //生成的Model文件实现Serializable接口 //虚拟主键插件..
还有一些额外的插件,可以用途比较少,在这里就先不提到了。
本文主要演示了一种通过Maven 插件来使用MBG生成JavaBean,Mapper文件的案例。最后测试了生成代码的可用性。Mybatis Generator确实方便了很多我们的工作。
如果想要生成Example类,记得在Context标签上的targetRuntime为Mybatis3。
转载地址:http://yesxx.baihongyu.com/