Mybatis Generator自动生成工具

最近在网上发现一个比较好用的自动生成的工具,特来分享

数据库配置如下:
create table t_user(
pk_userid int(10) primary key,
username varchar(10),
password varchar(20)
);
insert into t_user values(1,'user1','pwd1');
insert into t_user values(2,'user2','pwd2');
insert into t_user values(3,'user3','pwd3');
insert into t_user values(4,'user4','pwd4');
insert into t_user values(5,'user5','pwd5');
insert into t_user values(6,'user6','pwd6');
insert into t_user values(7,'user7','pwd7');
insert into t_user values(8,'user8','pwd8');
insert into t_user values(9,'user9','pwd9');
insert into t_user values(10,'user10','pwd10');
insert into t_user values(11,'user11','pwd11');
insert into t_user values(12,'user12','pwd12');


新建maven工程,新建mybatisGeneratorConfig.xml,具体如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
<!--classPathEntry:数据库的JDBC驱动-->
<!-- <classPathEntry location="src/main/webapp/WEB-INF/lib/mysql-connector-java-5.1.24.jar" /> -->
<classPathEntry location="E:\MavenTest\respo\mysql\mysql-connector-java\5.1.24\mysql-connector-java-5.1.24.jar" />
<context id="MysqlTables" targetRuntime="MyBatis3">
<!-- 注意这里面的顺序确定的,不能随变更改 -->
<!-- 自定义的分页插件
<plugin type="com.deppon.foss.module.helloworld.shared.PaginationPlugin"/>
-->

<!-- 可选的(0 or 1) -->
<!-- 注释生成器 -->
<commentGenerator>
<!-- 是否去掉注释 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>

<!-- 必须的(1 required) -->
<!-- 数据库连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost/test" userId="root" password="root">
</jdbcConnection>

<!-- 可选的(0 or 1) -->
<!-- 类型转换器或者加类型解析器 -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>


<!-- 必须的(1 required) -->
<!-- java模型生成器 -->
<!-- targetProject:自动生成代码的位置 -->
<javaModelGenerator targetPackage="com.deppon.cms.module.generators.shared.domain"
targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>


<!-- 必须的(1 required) -->
<!-- map xml 生成器 -->
<sqlMapGenerator targetPackage="com.deppon.cms.module.generators.server.META-INF.ibatis"
targetProject="src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>

<!-- 可选的(0 or 1) -->
<!-- mapper 或者就是dao接口生成器-->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.deppon.cms.module.generators.server.dao"
targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="methodNameCalculator" value="extended"/>
</javaClientGenerator>

<!-- 必须的(1...N) -->

<!-- pojo 实体生成器 -->
<!-- tableName:用于自动生成代码的数据库表;-->
<!-- domainObjectName:对应于数据库表的javaBean类名-->
<table tableName="t_user" domainObjectName="User" enableInsert="false" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">

</table>

</context>
</generatorConfiguration>


引入相关jar文件:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.24</version>
</dependency>


用java程序执行如下程序:

List<String> warnings = new ArrayList<String>();

boolean overwrite = true;
File configFile = new File("src/main/resources/com/deppon/cms/module/generators/server/META-INF/ibatis/mybatisGeneratorConfig.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
try {
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XMLParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("finished");
}



刷新工程,结果如下相关文件出现了

现在测试是否通过

public class MybatisGeneratorTest {

@Test
public void test1(){
String resource = "com/deppon/cms/module/generators/server/META-INF/ibatis/mybatisConfig.xml";
Reader reader = null;
SqlSessionFactory sqlMapper = null;
SqlSession sqlSession = null;
try {
//读取配置文件
reader = Resources.getResourceAsReader(resource);
sqlMapper = new SqlSessionFactoryBuilder().build(reader);
sqlSession = sqlMapper.openSession();

//获取User里面的值
UserMapper mappers = sqlSession.getMapper(UserMapper.class);
User user = mappers.selectByPrimaryKey(1);
System.out.println(user.getUsername());

} catch (IOException e) {
e.printStackTrace();
}

}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值