您的位置:首页 > 移动开发

如何用MyBatis-Generator自动创建代码(映射生成实体类、DAO接口和Mapping映射文件)

2017-09-17 16:06 1036 查看

如何用MyBatis自动生成实体类、DAO接口和Mapping映射文件

引言:

什么是 MyBatis ?

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

描述来自官网:http://www.mybatis.org/mybatis-3/zh/getting-started.html

如果你了解JPA、Hibernate等持久层框架(规范),那么你就大概知道MyBatis在开发中处于哪一环节了。

那么MyBatis是不是也可以像JPA、Hibernate那样映射生成数据库、实体类呢?答案是肯定的。

官方早已打包好了jar包来支持我们提高开发效率了:

MyBatis Generator - a code generator for MyBatis and iBatis.

下面介绍如何用MyBatis-generator自动映射生成实体类:

准备:

case: ( Postgresql )

1. 下载mybatis-generator.jar包:http://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core/1.3.5

2. JDBC-Driver:https://jdbc.postgresql.org/download.html

3. 创建编辑generatorConfig.xml文件(稍后介绍) [*3]

4. Database ready.[*4]

5. 一个基于MyBatis的项目.

[*3]

generatorConfig.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 location="postgresql-9.4.1210.jre6.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true" />
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--数据库链接URL,用户名、密码 -->
<jdbcConnection driverClass="org.postgresql.Driver"
connectionURL="jdbc:postgresql://localhost:5432/springlearn" userId="postgres"
password="postgres">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成模型的包名和位置 -->
<javaModelGenerator targetPackage="site.gaoyisheng.pojo"
targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成映射文件的包名和位置 -->
<sqlMapGenerator targetPackage="site.gaoyisheng.dao.mapping"
targetProject="src/main/java/">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 生成DAO的包名和位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="site.gaoyisheng.dao" targetProject="src/main/java/">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名 -->
<table tableName="user" domainObjectName="User"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>


Change to your Configurations :

1:
<!--数据库链接URL,用户名、密码 -->

2:
<!-- 数据库驱动 -->

3:
<!-- 生成XXX的包名和位置 --> *3
<targetPackage="site.gaoyisheng.XX" targetProject="src/main/java/">

4:
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名 -->


[*4]

Database and Table :

DB named ‘springlearn

Table named ‘user



[*5]

Directory Structure :



Generate:



java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite


Finished Directory Structure :



View source code in :

https://github.com/timo1160139211/ejos-inSpring

参考资料:

1. http://blog.csdn.net/zhshulin/article/details/23912615

2. http://www.cnblogs.com/xdp-gacl/p/4261895.html

3. http://www.zuidaima.com/share/2148093791816704.htm

4. http://www.zuidaima.com/share/3516663465790464.htm Java方法实现的

2. http://www.mybatis.org/mybatis-3/zh/index.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐