使用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脚本,或者直接使用java API生成;另外通过修改配置文件,generator还可以指定表的生成细节,并可以添加插件。其功能文档在generator的分发包的doc文件夹下有更详细的介绍。

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

相关推荐