Mybatis Generator自动生成Mybatis的相关代码

本文将简要介绍怎样利用Mybatis Generator自动生成Mybatis的相关代码:

一、构建一个环境:

1. 首先创建一个表:
java -jar mybatis-generator-core-1.3
.0
.jar -configfile ../src/main/resource/config.xml -overwrite

运行后生成的代码包括模型类 test.model.Pet 和 test.model.PetExample , test.dao.PetMapper 接口以及其相对应的 xml 映射文件,在这里就不在赘述了。

三、使用mybatis-generator生成的代码

1. 现在我们要利用这些生成的代码,首先我们需要一个关于所有映射的配置文件。需要我们手写如下:【不知道为什么generator没有选择自动生成这个文件,毕竟这些信息generator都可以得到】
package
 test;  


  


import
 java.io.Reader;  


import
 java.util.List;  


  


import
 org.apache.ibatis.io.Resources;  


import
 org.apache.ibatis.session.SqlSession;  


import
 org.apache.ibatis.session.SqlSessionFactory;  


import
 org.apache.ibatis.session.SqlSessionFactoryBuilder;  


  


import
 test.dao.PetMapper;  


import
 test.model.Pet;  


import
 test.model.PetExample;  


  


public
 class
 Test {  


  


    public
 static
 void
 main(String[] args) throws
 Exception {  


        String resource = "MapperConfig.xml"
;  


        Reader reader = Resources.getResourceAsReader(resource);  


        SqlSessionFactory sqlMapper = new
 SqlSessionFactoryBuilder().build(reader);  


        SqlSession sqlSession = sqlMapper.openSession();  


  


        PetExample pet = new
 PetExample();  


        pet.or().andDeathIsNotNull();  


        try
 {  


            PetMapper mapper = sqlSession.getMapper(PetMapper.class
);  


            List<Pet> allRecords = mapper.selectByExample(pet);  


            for
 (Pet s : allRecords)  


                System.out.println(s);  


        } finally
 {  


            sqlSession.close();  


        }  


    }  


}

这样就可以打印出相应的查询结果信息了。

四、小结

该示例的完整的Eclipse工程见附件mybatis-generator-usage.zip,其中已经包含了示例需要使用的jar包。

本文中只是用到了mybatis-generator的一部分功能,mybatis-generator生成代码的方式还包括ant或Maven脚本,或者直接使用javaAPI生成;另外通过修改配置文件,generator还可以指定表的生成细节,并可以添加插件。其功能文档在generator的分发包的doc文件夹下有更详细的介绍。

这里使用的表示没有主键的表,针对有一个主键或多个主键的表,mybatis-generator的生成的内容也有所不同,感兴趣的读者可以自行试验一下。

相关推荐