• mybatis反向代理自动生成mapper文件


    1.在resources下新建generatorConfig.xml

    注意:这里的targetPackage是自己的相对应文件的文件夹的名称

    targetProject+targetPackage 也就是稍后生成的文件在项目中的具体位置

    <?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>
        <!--导入属性配置-->
        <properties resource="datasource.properties"></properties>
    
        <!--指定特定数据库的jdbc驱动jar包的位置-->
        <classPathEntry location="${db.driverLocation}"/>
    
        <context id="default" targetRuntime="MyBatis3">
    
            <!-- optional,旨在创建class时,对注释进行控制 -->
            <commentGenerator>
                <property name="suppressDate" value="true"/>
                <property name="suppressAllComments" value="true"/>
            </commentGenerator>
    
            <!--jdbc的数据库连接 -->
            <jdbcConnection
                    driverClass="${db.driverClassName}"
                    connectionURL="${db.url}"
                    userId="${db.username}"
                    password="${db.password}">
            </jdbcConnection>
    
    
            <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
    
    
            <!-- Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example类
                targetPackage     指定生成的model生成所在的包名
                targetProject     指定在该项目下所在的路径
            -->
    
            <!--1.存放对象-->
            <javaModelGenerator targetPackage="com.sxt.system.domain" targetProject="./src/main/java">
                <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
                <property name="enableSubPackages" value="false"/>
                <!-- 是否对model添加 构造函数  不需要 -->
                <property name="constructorBased" value="false"/>
                <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
                <property name="trimStrings" value="true"/>
                <!-- 建立的Model对象是否 不可改变  即生成的Model对象不会有 setter方法,只有构造方法 -->
                <property name="immutable" value="false"/>
            </javaModelGenerator>
    
            <!--mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
            <!--2.存放接口mapper -->
            <sqlMapGenerator targetPackage="mapper.system" targetProject="./src/main/resources">
                <property name="enableSubPackages" value="false"/>
            </sqlMapGenerator>
    
            <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
                type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
                type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
                type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
            -->
    
            <!-- targetPackage:mapper接口dao生成的位置 -->
            <!--2.存放接口mapperXML -->
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.sxt.system.mapper" targetProject="./src/main/java">
                <!-- enableSubPackages:是否让schema作为包的后缀 -->
                <property name="enableSubPackages" value="false"/>
            </javaClientGenerator>
    
    
            <table tableName="t_diary" domainObjectName="Diary" enableCountByExample="false"
                   enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
                   selectByExampleQueryId="false"></table>
    
            <!-- geelynote mybatis插件的搭建 -->
        </context>
    </generatorConfiguration>
    

    2.在resources下新建datasource.properties

    db.driverLocation=E:\.m2\repository\mysql\mysql-connector-java\5.1.32\mysql-connector-java-5.1.32.jar
    db.driverClassName= com.mysql.cj.jdbc.Driver
    
    db.url=jdbc:mysql://localhost:3306/plan?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=UTC
    db.username= root
    db.password= 123456
    
    
    db.initialSize = 20
    db.maxActive = 50
    db.maxIdle = 20
    db.minIdle = 10
    db.maxWait = 10
    db.defaultAutoCommit = true
    db.minEvictableIdleTimeMillis = 3600000
    

    注意:这里的db.driverLocation 是自己的maven仓库地址下的mysql地址

    比如我的maven仓库是

    3.配置maven

    maven依赖

    		
    		<!-- mybatis-generator-core 反向生成java代码
    			解决gengeatorConfig报红
    		-->
    		<dependency>
    			<groupId>org.mybatis.generator</groupId>
    			<artifactId>mybatis-generator-core</artifactId>
    			<version>1.3.5</version>
    		</dependency>
    		<dependency>
    			<groupId>mysql</groupId>
    			<artifactId>mysql-connector-java</artifactId>
    			<version>8.0.18</version>
    		</dependency>
    

    maven插件

    		<plugins>
    			<plugin>
    				<groupId>org.mybatis.generator</groupId>
    				<artifactId>mybatis-generator-maven-plugin</artifactId>
    				<version>1.3.2</version>
    				<dependencies>
    					<dependency>
    						<groupId>mysql</groupId>
    						<artifactId>mysql-connector-java</artifactId>
    						<version>8.0.18</version>
    					</dependency>
    				</dependencies>
    				<configuration>
    					<verbose>true</verbose>
    					<overwrite>true</overwrite>
    				</configuration>
    			</plugin>
    		</plugins>
    

    点击idea右侧,找到如下,双击构建,即可得到dao,mapper,mapperXML

    不破不立,怕啥怼啥!
  • 相关阅读:
    hadoop集群单点配置
    CentOS6.x环境通过yum命令在线安装或重装zookeeper-server
    层层递进——宽度优先搜索(BFS)
    解救小哈——DFS算法举例
    浅谈深度优先搜索
    CodeCombat森林关卡Python代码
    用OpenGL进行曲线、曲面的绘制
    CodeCombat地牢关卡Python代码
    转载:程序员都应该访问的最佳网站
    用OpenGL实现动态的立体时钟
  • 原文地址:https://www.cnblogs.com/yslu/p/13990398.html
Copyright © 2020-2023  润新知