• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Mybatis如何自动生成数据库表的实体类

mybatis 搞代码 4年前 (2022-01-09) 20次浏览 已收录 0个评论
文章目录[隐藏]

第一步引入jar

第二步,配置文本文件

# 数据库驱动jar 路径 本地创库的包
drive.class.path=C:/Users/Administrator/.m2/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar
# 数据库连接参数
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.1.188:3306/sxhy_user?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=rhzh
# 包路径配置
model.package=com.fishing.personal.common.entity
xml.mapper.package=com.fishing.personal.common.dao.mapper
target.project=src/main/java

第三步配置文件

<?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">
<!-- 配置Run As Maven build : Goals 参数 : mybatis-generator:generate -Dmybatis.generator.overwrite=true -->
<!-- 配置 tableName,使用 Run As Maven build 生成 dao model 层 -->
<!-- maven执行命令:mybatis-generator:generate -->
<generatorConfiguration>
    <!-- 配置文件路径 -->
    <properties url="${mybatis.generator.generatorConfig.properties}"/>
    <!--数据库驱动包路径 -->
    <classPathEntry location="${drive.class.path}"/>
	
	<!--
	上下文配置、核心配置
	属性介绍
	defaultModelType:
	    conditional:*这是默认值*,这个模型和下面的hierarchical类似,除了如果那个单独的类将只包含一个字段,将不会生成一个单独的类。
	    	 因此,如果一个表的主键只有一个字段,那么不会为该字段生成单独的实体类,会将该字段合并到基本实体类中。
	    flat:该模型为每一张表只生成一个实体类。这个实体类包含表中的所有字段。**这种模型最简单,推荐使用。**
	    hierarchical:如果表有主键,那么该模型会产生一个单独的主键实体类,如果表还有BLOB字段, 则会为表生成一个包含所有BLOB字段的单独的实体类,
	    	然后为所有其他的字段生成一个单独的实体类。 MBG会在所有生成的实体类之间维护一个继承关系。
	-->
    <context id="DB2Tables" targetRuntime="MyBatis3" defaultModelType="flat">
    	<!-- 自动为表名加上前后缀,防止表名中出现空格发生异常(mysql=`) -->
    	<property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>
        <!--关闭注释 -->
        <commentGenerator>
        	<!-- 阻止生成注释 -->
            <property name="suppressAllComments" value="false"/>
            <!-- 阻止生成注释包含时间戳 -->
            <property name="suppressDate" value="true"/>
        </commentGenerator>
        
        <!-- 自定义注释生成类,为以上节点添加type属性 -->
        <!-- <commentGenerator type="com.package.abel533.mybatis.generator.MyCommentGenerator"/> -->
        <!--数据库连接信息 -->
        <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}"
                        password="${jdbc.password}">
        </jdbcConnection>
        <!--生成的model 包路径 -->
        <javaModelGenerator targetPackage="${model.package}" targetProject="${target.project}">
        	<!-- 是否根据catalog和schema来生成子包 -->
            <property name="enableSubPackages" value="ture"/>
            <!-- 是否使用构造方法入参 -->
            <property name="trimStrings" value="true"/>
            <!-- 是否对字符<p style="color:transparent">本文来源gao!%daima.com搞$代*!码网1</p>串进行trim操作 -->
            <property name="trimStrings" value="false" />
        </javaModelGenerator>
		<!--生成xml mapper文件 路径 -->
        <sqlMapGenerator targetPackage="${xml.mapper.package}" targetProject="${target.project}">
        	<!-- 是否根据catalog和schema来生成子包 -->
            <property name="enableSubPackages" value="ture"/>
        </sqlMapGenerator>
        <!-- 生成的Dao接口 的包路径 -->
        <!--
        type属性介绍:(仅用于mybatis3)
        ANNOTATEDMAPPER:基于注解的Mapper接口,不会有对应的XML映射文件
		MIXEDMAPPER:XML和注解的混合形式,(上面这种情况中的)SqlProvider注解方法会被XML替代。
		XMLMAPPER:所有的方法都在XML中,接口调用依赖XML文件。
        -->
       <!--  <javaClientGenerator type="XMLMAPPER" targetPackage="${dao.package}" targetProject="${target.project}">
        	是否根据catalog和schema来生成子包
            <property name="enableSubPackages" value="ture"/>
        </javaClientGenerator> -->
        
        <!-- 对应数据库表名 -->
        <table tableName="user_client" modelType="flat">
            <!-- 配置所有到方法的根接口 -->
            <property name="rootInterface" value="com.rhzh.client.core.generic.GenericDao&lt;Object, Integer&gt;" />
            <!-- 配置主键 -->
            <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
        </table>
        
        <!-- 手动配置table -->
        <!--
        <table tableName="数据库表名" domainObjectName="自动生成的实体类名" ....更多见参考文档>
        	配置表的主键以及所使用的sql语法
        	<generatedKey column="id" sqlStatement="Mysql"/>
        	....更多见参考文档
        </table>
        -->
    </context>
</generatorConfiguration>

第四步配置MAVEN


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Mybatis如何自动生成数据库表的实体类
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址