1.编写Generator执行配置文件:
generatorConfigation.xml。注意配置数据库驱动包的绝对路径。
/p>
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/db_mybatis"
userId="root"
password="root">
targetPackage="cn.cvu.test.model"
targetProject="src">
targetPackage="cn.cvu.test.xml"
targetProject="src">
type="XMLMAPPER"
targetPackage="cn.cvu.test.dao"
targetProject="src">
2.在MyEclipse中建空web项目:
将配置文件放到src里。加入generator的jar文件。
3.编写并执行Java程序:
package cn.cvu.test.build;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
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 TestGenerateWithJava {
@Test
public void testBuild() throws Exception {
// 信息缓存
List warnings = new ArrayList();
// 覆盖已有的重名文件
boolean overwrite = true;
// 准备 配置文件
File configFile = new File("F:/myeclipse_workspace/generator/src/generatorConfigation.xml");
// 1.创建 配置解析器
ConfigurationParser parser = new ConfigurationParser(warnings);
// 2.获取 配置信息
Configuration config = parser.parseConfiguration(configFile);
// 3.创建 默认命令解释调回器
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
// 4.创建 mybatis的生成器
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
// 5.执行,关闭生成器
myBatisGenerator.generate(null);
}
}
4.查看并修改生成的文件:
选中src,按F5刷新,可以看到新文件已经创建:
修改报错的EmineMapper.java文件,去除注解:
5.测试,使用生成的文件查询:
1)导入MyBatis的jar包:
mybatis-3.2.2.jarmybatis-generator-core-1.3.2.jarmysql-connector-java-5.1.22-bin.jar
2)创建MyBatis的xml配置文件:
上面我们注释掉了自动生成的注解代码,在src新建一个xml配置文件,mybatisConfigation.xml:
/p>
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
3)Java测试代码:
创建测试类cn.cvu.test.dotest.TestDoGeneratorWithJava:
package cn.cvu.test.dotest;
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.SqlSessionFactoryBuilder;
import org.junit.Test;
import cn.cvu.test.dao.EminemMapper;
import cn.cvu.test.model.Eminem;
import cn.cvu.test.model.EminemExample;
import cn.cvu.test.model.EminemExample.Criteria;
public class TestDoGeneratorWithJava {
@Test
public void testQuery() throws Exception {
// 创建SQL会话:
Reader reader = Resources.getResourceAsReader("mybatisConfigation.xml");
SqlSession session = new SqlSessionFactoryBuilder().build(reader).openSession();
// 创建查询实例:
EminemExample eminemExample = new EminemExample();
// 获取映射实体:
EminemMapper mapper = session.getMapper(EminemMapper.class);
// 利用实体通过实例查询全部条目
List eminems = mapper.selectByExample(eminemExample);
System.out.println("ID \t\t name \t\t notes \n");
for (Eminem eminem : eminems) {
System.out.println(eminem.getId()+
"\t\t"+eminem.getGenerName()+
"\t\t"+eminem.getNotes());
}
session.close();
}
}
- end