最近在网上发现一个比较好用的自动生成的工具,特来分享
数据库配置如下:
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();
}
}
}
分享到:
相关推荐
MyBatis Generator(MBG)是一款强大的自动化代码生成工具,主要用于简化MyBatis框架的开发工作,通过自动生成Java实体类、Mapper接口和XML配置文件,极大地提高了开发效率。这款工具能够根据数据库表结构自动创建...
标题 "mybatis-generator自动生成代码[增加Service的生成]" 指的是MyBatis Generator(MBG)这一工具,它能够根据数据库表结构自动产生Java持久层代码,大大减轻了开发人员的手动编码工作。在描述中提到"增加Service...
MyBatis Generator(MBG)是一款强大的自动化代码生成工具,专为MyBatis框架设计,能够自动生成DAO层、实体Bean以及Mapper XML文件,极大地提高了开发效率。在使用MBG时,用户只需要进行简单的配置,就可以自动生成...
在描述中提到,这是一个升级版的代码生成工具,只需修改 `generator.xml` 文件以配置数据库映射信息,然后双击代码生成器,即可自动生成所需代码。这意味着用户无需复杂的手动步骤,只需要正确配置数据库连接和表...
Mybatis Generator是一款强大的工具,它能够自动生成Java实体类(Entity)、Mapper接口和XML配置文件,极大地提高了开发效率。在"Maven"环境下,我们可以轻松地集成这个插件,实现自动化代码生成,尤其对于处理带有...
MyBatis Generator(MBG)是一款强大的工具,用于自动生成MyBatis框架的SQL映射文件、Java模型类以及DAO接口。它极大地提高了开发效率,减少了手动编写这些基础代码的工作量,使开发者能够更专注于业务逻辑的实现。...
MyBatis Generator 是一个基于 MyBatis 的代码生成工具,能够根据数据库表结构生成相应的 MyBatis 代码,包括实体类、映射文件、DAO 层和 Service 层等。使用 MyBatis Generator 可以大大减少开发时间和工作量,提高...
MyBatis Generator(MBG)是一款强大的自动化代码生成工具,主要针对MyBatis框架,能够帮助开发者自动生成Java Bean、DAO层以及Mapper XML文件,极大地提高了开发效率,减少了手动编写这些重复性工作的时间。...
mybatis-generator自动生成器 自动生成mapper.xml以及实体内接口等; 该工具不需要集成到项目内,直接使用cmd命令即可; 数据库,类名在配置文件generator.xml中进行修改即可
Mybatis Generator是一款强大的工具,它能够自动生成Mybatis的映射文件、Model类以及Mapper接口,极大地提高了开发效率。在本示例中,我们将深入探讨如何利用Mybatis Generator与MySQL数据库配合,实现代码的自动化...
在"mybatis generator自动生成"这个主题中,主要涉及到以下几个核心知识点: 1. **MyBatis Generator配置**:Generator的配置文件是整个生成过程的关键,通常为`generatorConfig.xml`。在配置文件中,你需要定义...
mybatis generator 自动生成实体类工具【自己封装】 运行项目中的CreateEveryModel\src\com\create\CreateModelMain 入口 将其中的数据库连接修改为要连接的数据库信息 配置//要生成文件的根目录 配置// 主包名 配置...
Mybatis Generator是一款强大的工具,它能够自动生成Mybatis的相关代码,包括Mapper接口、XML映射文件、实体类以及DAO层的实现代码,极大地提高了开发效率,减少了手动编写这些重复性工作的繁琐。本篇文章将深入探讨...
MyBatis Generator是一款强大的工具,它能够自动生成MyBatis框架所需的SQL映射文件、实体类和DAO接口,极大地提高了开发效率。通过重写MyBatis Generator的源码,我们可以进一步定制化生成的代码,使其更符合项目...
Mybatis Generator是一款强大的工具,它能够自动生成Mybatis框架所需的SQL映射文件、Mapper接口以及实体类,大大简化了开发工作,提高了效率。通过配置XML文件,我们可以指定数据库连接信息、表名、生成的文件类型等...
MyBatis自动生成器,作为一个强大的工具,极大地简化了开发者在使用MyBatis时的数据访问层(DAO)编码工作。这个工具可以根据数据库表结构自动生成相应的Java代码,包括实体类、Mapper接口、Mapper XML文件以及对应...
这样,我们在进行数据库操作时,就可以直接使用这些由Generator自动生成的代码,而无需手动编写。 总结来说,Mybatis Generator是Mybatis框架的一个强大插件,能够与SpringBoot和Maven完美集成。通过简单的配置,它...
MyBatis Generator(MBG)是一款强大的代码生成工具,它能够极大地提高开发效率,通过简单的配置,即可自动化地为MyBatis框架生成SQL映射文件、Mapper接口、实体类以及Service层代码。这款工具是开源的,完全免费,...
MyBatisGenerator(MBG)是一个基于Java的代码生成器,它可以从数据库中的表自动生成相应的Java模型类、Mapper接口和Mapper XML文件。MBG的逆向工程特性使得开发者无需手动编写这些重复性工作,从而能够专注于业务...
### Eclipse Maven项目中利用MyBatis Generator自动生成实体类与Mapper #### 一、概述 在Java Web开发中,特别是使用MyBatis框架时,频繁地编写DAO层接口(Mapper)以及对应的实体类(Entity)是一项既繁琐又容易...