mybatis-generator生成model和dao层代码

1、建立文件夹myibatisGen

2、下载mybatis-generator-core-1.3.1.jar或者其它版本的jar包,到myibatisGen文件夹下

3、为生成代码建立配置文件“generatorConfig.xml”

4、生成代码

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

5、根据以上步骤可以完成代码生成。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="ojdbc14.jar" />
  
  <!-- targetRuntime:生成代码的运行环境。由于我使用的是ibatis2所以选择Ibatis2Java5。-->
  <context id="ORACLETables" targetRuntime="Ibatis2Java5">


    <commentGenerator>  
		<property name="suppressDate" value="true" />  
    </commentGenerator>   


    <!-- 数据库配置 -->
    <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
        connectionURL="jdbc:oracle:thin:@192.168.3.222:1521:orcl"
        userId="orcl"
        password="orcl">
    </jdbcConnection>


    <javaTypeResolver >
      <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>


    <!-- model配置 -->
    <javaModelGenerator targetPackage="com.test.model" targetProject="test\src">
      <property name="enableSubPackages" value="true" />
      <property name="trimStrings" value="true" />
    </javaModelGenerator>


    <!-- dao配置 -->
    <sqlMapGenerator targetPackage="com.test.dao"  targetProject="test\src\sqlmaps">
      <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>


    <javaClientGenerator type="SPRING" targetPackage="com.test.dao"  targetProject="test\src">
      <property name="enableSubPackages" value="true" />
    </javaClientGenerator>


    <!-- 数据库表配置 
	domainObjectName:类名
	-->
    <table tableName="ORDER_ORDER" domainObjectName="ORDER">
		<columnOverride  column="ID" property="id" javaType="java.lang.Long" jdbcType="NUMERIC"/>
    </table>
	<table tableName="ORDER_ISSUE_LEVEL" domainObjectName="ISSUE_LEVEL">
		<columnOverride  column="ID" property="id" javaType="java.lang.Long" jdbcType="NUMERIC"/>
    </table>
  </context>
</generatorConfiguration>

6、如果不喜欢生成的代码中带有代理的mybatis代码生成器的注解信息,可以配置下面的配置参数关闭注解信息的生成:
<commentGenerator>  
        <property name="suppressAllComments" value="true" />  
</commentGenerator>  
7、想要mybaits代码生成器生成Example类换个名字,是通过插件实现的,即下面的这个插件配置参数很关键。
<plugin type="org.mybatis.generator.plugins.RenameExampleClassPlugin">  
    <property name="searchString" value="Example$" />  
    <property name="replaceString" value="Criteria" />  

</plugin>  

8、具体配置项可以查看mybatis-generator-core-1.3.1/doc下的文档。

### MyBatisX-Generator 使用教程 #### 配置文件设置 为了使用 MyBatisX-Generator,首先需要创建并配置 `generatorConfig.xml` 文件。此文件用于指定数据库连接信息以及生成代码的目标位置格式[^1]。 ```xml <generatorConfiguration> <!-- 数据库链接URL, 用户名、密码 --> <context id="DB2Tables" targetRuntime="MyBatis3"> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC" userId="root" password="password"/> <!-- Java模型创建器,默认会为每张表生成对应的实体类 --> <javaModelGenerator targetPackage="test.model" targetProject="./src/main/java"/> <!-- SQL映射文件生成路径 --> <sqlMapGenerator targetPackage="mapper" targetProject="./src/main/resources"/> <!-- 客户端代理实现类生成路径 --> <javaClientGenerator type="XMLMAPPER" targetPackage="test.mapper" targetProject="./src/main/java"/> <!-- 表/视图名称列表 --> <table tableName="tb_user" domainObjectName="User"/> </context> </generatorConfiguration> ``` #### 执行生成命令 完成上述 XML 文件编写之后,在命令行中通过如下指令运行 MyBatis Generator 工具来启动代码生成功能: ```bash java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml -overwrite ``` 这条命令将会读取给定的配置文件,并按照其中设定好的规则来自动生成所需的 Mapper 接口及其关联的 XML 映射文件等内容[^2]。 #### 支持复杂查询操作 除了基本 CRUD 方法外,MyBatisX-Generator 还能够处理更复杂的业务逻辑需求,比如多表联合查询、带分页排序的结果集获取或是基于特定条件筛选的数据检索等功能。这得益于其内置的支持机制或者是允许用户自定义 SQL 片段的能力[^3]。 例如可以利用 `<select>` 标签内嵌入额外参数或子句的方式定制化查询行为;也可以借助插件体系进一步拓展框架本身的功能边界。 #### 结合 MyBatis-Plus 提升效率 考虑到实际项目中的便捷性高效性考量,推荐搭配 MyBatis-Plus 来共同构建数据访问组件。作为一款专注于简化持久工作的开源产品,它不仅继承了原版 MyBatis 的全部特性,还在此基础上引入了一系列实用的新特性优化措施,从而使得日常编码工作变得更加轻松愉快[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值