本篇文章主要介绍了"使用 MyBatis Generator 工具生成MyBatis相关类和Mapper文件2",主要涉及到mybatis,tor方面的内容,对于Javascriptjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
之前我写过一篇Blog说明了使用MyBatisGenerator工具,从配置文件generatorConfig.xml读取配置并生成可供MyBatis使用的对象...
之前我写过一篇Blog说明了使用MyBatisGenerator工具,从配置文件generatorConfig.xml读取配置并生成可供MyBatis使用的对象和mapper文件。
Blog地址位于:http://my.oschina.net/Tsybius2014/blog/676973
今天我尝试了另一种方法生成对象和Mapper文件,即通过代码手工建立一个Configuration对象,并使用这个Configuration对象作为MyBatisGenerator的生成配置。
工程的结构和上篇Blog一致,我们只需要将main函数修改一下:
package GenMyBatisTest;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.CommentGeneratorConfiguration;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.Context;
import org.mybatis.generator.config.JDBCConnectionConfiguration;
import org.mybatis.generator.config.JavaClientGeneratorConfiguration;
import org.mybatis.generator.config.JavaModelGeneratorConfiguration;
import org.mybatis.generator.config.JavaTypeResolverConfiguration;
import org.mybatis.generator.config.ModelType;
import org.mybatis.generator.config.SqlMapGeneratorConfiguration;
import org.mybatis.generator.config.TableConfiguration;
import org.mybatis.generator.internal.DefaultShellCallback;
/**
* MyBatisGenerator 学习
* @author Tsybius2014
* @date 2016年5月20日
* @time 下午11:50:31
* @remark
*/
public class GenMyBatis {
public static void main(String[] args) {
try {
//数据库属性
String classPath = "E:/jars/mybatis-3.2.2/lib/ojdbc14-10.2.0.2.0.jar";
String jdbcDriver = "oracle.jdbc.driver.OracleDriver";
String jdbcUrl = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String jdbcUser = "用户名";
String jdbcPassword = "密码";
List warnings = new ArrayList();
boolean overwrite = true;
//MyBatisGenerator需读取的配置类
Configuration config = new Configuration();
config.addClasspathEntry(classPath);
Context context = new Context(ModelType.CONDITIONAL);
context.setId("oracleGenTest");
context.setTargetRuntime("MyBatis3");
//commentGenerator
CommentGeneratorConfiguration comment = new CommentGeneratorConfiguration();
comment.addProperty("suppressDate", "true");
comment.addProperty("suppressAllComments", "true");
context.setCommentGeneratorConfiguration(comment);
//jdbcConnection
JDBCConnectionConfiguration jdbcCon = new JDBCConnectionConfiguration();
jdbcCon.setDriverClass(jdbcDriver);
jdbcCon.setConnectionURL(jdbcUrl);
jdbcCon.setUserId(jdbcUser);
jdbcCon.setPassword(jdbcPassword);
context.setJdbcConnectionConfiguration(jdbcCon);
//javaTypeResolver
JavaTypeResolverConfiguration javaTypeResolver =
new JavaTypeResolverConfiguration();
javaTypeResolver.addProperty("forceBigDecimals", "false");
context.setJavaTypeResolverConfiguration(javaTypeResolver);
// javaModelGenerator 生成对象和Example类相关配置
JavaModelGeneratorConfiguration javaModel =
new JavaModelGeneratorConfiguration();
javaModel.setTargetPackage("GenTarget.object_example_java");
javaModel.setTargetProject("src");
javaModel.addProperty("enableSubPackages", "true");
javaModel.addProperty("trimStrings", "true");
context.setJavaModelGeneratorConfiguration(javaModel);
// sqlMapGenerator 生成mapper.xml相关配置
SqlMapGeneratorConfiguration sqlMap = new SqlMapGeneratorConfiguration();
sqlMap.setTargetPackage("GenTarget.mapper_xml");
sqlMap.setTargetProject("src");
sqlMap.addProperty("enableSubPackages", "false");
context.setSqlMapGeneratorConfiguration(sqlMap);
// javaClientGenerator 生成mapper.java相关配置
JavaClientGeneratorConfiguration javaClient =
new JavaClientGeneratorConfiguration();
javaClient.setTargetPackage("GenTarget.mapper_java");
javaClient.setTargetProject("src");
javaClient.setConfigurationType("XMLMAPPER");
javaClient.addProperty("enableSubPackages", "false");
context.setJavaClientGeneratorConfiguration(javaClient);
// table
TableConfiguration table = new TableConfiguration(context);
table.setTableName("game_record");
context.addTableConfiguration(table);
config.addContext(context);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
System.out.println("done.");
} catch (Exception ex) {
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
ex.printStackTrace(printWriter);
System.out.println(stringWriter.toString());
}
}
}
这段代码中配置与此properties和xml文件相同:
1、文件database.properties
#Mybatis Generator configuration
classPath=E:/jars/mybatis-3.2.2/lib/ojdbc14-10.2.0.2.0.jar
jdbc_driver=oracle.jdbc.driver.OracleDriver
jdbc_url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
jdbc_user=操作人
jdbc_password=登录密码
2、文件 generatorConfig.xml