`

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();
		}
		
	}
}
分享到:
评论

相关推荐

    mybatis generator 自动生成工具

    MyBatis Generator(MBG)是一款强大的自动化代码生成工具,主要用于简化MyBatis框架的开发工作,通过自动生成Java实体类、Mapper接口和XML配置文件,极大地提高了开发效率。这款工具能够根据数据库表结构自动创建...

    mybatis-generator自动生成代码[增加Service的生成]

    标题 "mybatis-generator自动生成代码[增加Service的生成]" 指的是MyBatis Generator(MBG)这一工具,它能够根据数据库表结构自动产生Java持久层代码,大大减轻了开发人员的手动编码工作。在描述中提到"增加Service...

    mybatis generator自动生成DAO、Bean、MapperXML等文件

    MyBatis Generator(MBG)是一款强大的自动化代码生成工具,专为MyBatis框架设计,能够自动生成DAO层、实体Bean以及Mapper XML文件,极大地提高了开发效率。在使用MBG时,用户只需要进行简单的配置,就可以自动生成...

    Mybatis Generator 代码生成工具

    在描述中提到,这是一个升级版的代码生成工具,只需修改 `generator.xml` 文件以配置数据库映射信息,然后双击代码生成器,即可自动生成所需代码。这意味着用户无需复杂的手动步骤,只需要正确配置数据库连接和表...

    Mybatis Generator自动生成JavaEntity带中文注释和注解[Maven]工程

    Mybatis Generator是一款强大的工具,它能够自动生成Java实体类(Entity)、Mapper接口和XML配置文件,极大地提高了开发效率。在"Maven"环境下,我们可以轻松地集成这个插件,实现自动化代码生成,尤其对于处理带有...

    MyBatis Generator 自动生成代码完整包

    MyBatis Generator(MBG)是一款强大的工具,用于自动生成MyBatis框架的SQL映射文件、Java模型类以及DAO接口。它极大地提高了开发效率,减少了手动编写这些基础代码的工作量,使开发者能够更专注于业务逻辑的实现。...

    使用MyBatis Generator自动生成MyBatis代码.docx

    MyBatis Generator 是一个基于 MyBatis 的代码生成工具,能够根据数据库表结构生成相应的 MyBatis 代码,包括实体类、映射文件、DAO 层和 Service 层等。使用 MyBatis Generator 可以大大减少开发时间和工作量,提高...

    mybatis-generator生成sqlserver数据库Bean、Dao、Mapper代码工具

    MyBatis Generator(MBG)是一款强大的自动化代码生成工具,主要针对MyBatis框架,能够帮助开发者自动生成Java Bean、DAO层以及Mapper XML文件,极大地提高了开发效率,减少了手动编写这些重复性工作的时间。...

    mybatis-generator自动生成器

    mybatis-generator自动生成器 自动生成mapper.xml以及实体内接口等; 该工具不需要集成到项目内,直接使用cmd命令即可; 数据库,类名在配置文件generator.xml中进行修改即可

    Mybatis Generator自动生成代码demo

    Mybatis Generator是一款强大的工具,它能够自动生成Mybatis的映射文件、Model类以及Mapper接口,极大地提高了开发效率。在本示例中,我们将深入探讨如何利用Mybatis Generator与MySQL数据库配合,实现代码的自动化...

    mybatis generator自动生成

    在"mybatis generator自动生成"这个主题中,主要涉及到以下几个核心知识点: 1. **MyBatis Generator配置**:Generator的配置文件是整个生成过程的关键,通常为`generatorConfig.xml`。在配置文件中,你需要定义...

    mybatis generator 自动生成实体类工具【自己封装】

    mybatis generator 自动生成实体类工具【自己封装】 运行项目中的CreateEveryModel\src\com\create\CreateModelMain 入口 将其中的数据库连接修改为要连接的数据库信息 配置//要生成文件的根目录 配置// 主包名 配置...

    使用Mybatis Generator自动生成Mybatis相关代码

    Mybatis Generator是一款强大的工具,它能够自动生成Mybatis的相关代码,包括Mapper接口、XML映射文件、实体类以及DAO层的实现代码,极大地提高了开发效率,减少了手动编写这些重复性工作的繁琐。本篇文章将深入探讨...

    MyBatis Generator代码自动生成

    MyBatis Generator是一款强大的工具,它能够自动生成MyBatis框架所需的SQL映射文件、实体类和DAO接口,极大地提高了开发效率。通过重写MyBatis Generator的源码,我们可以进一步定制化生成的代码,使其更符合项目...

    Mybatis Generator自动生成代码实例

    Mybatis Generator是一款强大的工具,它能够自动生成Mybatis框架所需的SQL映射文件、Mapper接口以及实体类,大大简化了开发工作,提高了效率。通过配置XML文件,我们可以指定数据库连接信息、表名、生成的文件类型等...

    myBatis自动生成器

    MyBatis自动生成器,作为一个强大的工具,极大地简化了开发者在使用MyBatis时的数据访问层(DAO)编码工作。这个工具可以根据数据库表结构自动生成相应的Java代码,包括实体类、Mapper接口、Mapper XML文件以及对应...

    mybatisGenerator代码自动生成工具

    这样,我们在进行数据库操作时,就可以直接使用这些由Generator自动生成的代码,而无需手动编写。 总结来说,Mybatis Generator是Mybatis框架的一个强大插件,能够与SpringBoot和Maven完美集成。通过简单的配置,它...

    mybatis-generator 代码自动生成工具

    MyBatis Generator(MBG)是一款强大的代码生成工具,它能够极大地提高开发效率,通过简单的配置,即可自动化地为MyBatis框架生成SQL映射文件、Mapper接口、实体类以及Service层代码。这款工具是开源的,完全免费,...

    MyBatisGenerator.zip mybatis逆向工程生成器

    MyBatisGenerator(MBG)是一个基于Java的代码生成器,它可以从数据库中的表自动生成相应的Java模型类、Mapper接口和Mapper XML文件。MBG的逆向工程特性使得开发者无需手动编写这些重复性工作,从而能够专注于业务...

    eclipse的maven项目中,通过mybatisgenerator工具自动生成实体类和Mapper

    ### Eclipse Maven项目中利用MyBatis Generator自动生成实体类与Mapper #### 一、概述 在Java Web开发中,特别是使用MyBatis框架时,频繁地编写DAO层接口(Mapper)以及对应的实体类(Entity)是一项既繁琐又容易...

Global site tag (gtag.js) - Google Analytics