zoukankan      html  css  js  c++  java
  • SpringMVC(4)逆向工程

    一、控制层采用springmvc、持久层使用mybatis实现

    springmvc+mybaits的系统架构:

    第一步:整合dao层 mybatis和spring整合,通过spring管理mapper接口。使用mapper的扫描器自动扫描mapper接口在spring中进行注册。

    第二步:整合service层 通过spring管理 service接口。使用配置方式将service接口配置在spring配置文件中。实现事务控制。

    第三步:整合springmvc 由于springmvc是spring的模块,不需要整合。

    二、mybatis逆向工程

    什么是逆向工程? mybatis需要程序员编写SQL语句,mybatis官网提供逆向工程,针对对于单表自动生成mybatis所要执行的代码(mapper.java、mapper.xml、pojo…)

    实际开发中常用的逆向工程方式:由数据库的表生成代码 之所以强调单表两个字,是因为Mybatis逆向工程生成的Mapper所进行的操作都是针对单表的

    三、如何实现逆向工程?

    1、首先在maven中添加依赖(pom.xml) 分别是:mybatis-generator-maven-plugin插件、log4j、mybatis、mysql、mybatis-generator的依赖(添加完后,在Maven Projects的Plugins中会多出一个mybatis-generator)

      <!--  mybatis-generator自动生成代码插件,和pluginManagement平级-->
        <plugins>
           <plugin>
               <groupId>org.mybatis.generator</groupId>
               <artifactId>mybatis-generator-maven-plugin</artifactId>
               <version>1.3.2</version>
               <configuration>
                   <verbose>true</verbose>
                   <overwrite>true</overwrite>
               </configuration>
               <dependencies>
               <dependency>
                 <groupId>mysql</groupId>
                 <artifactId>mysql-connector-java</artifactId>
                 <version>8.0.15</version>
               </dependency>
                </dependencies>
           </plugin>
        </plugins>
    //配置依赖
           <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
            <!-- mybatis核心包 -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.5.0</version>
            </dependency>
            <!-- mybatis/spring包 -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>2.0.0</version>
            </dependency>
            <!-- 导入Mysql数据库链接jar包 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.15</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-core</artifactId>
                <version>1.3.7</version>
            </dependency>

     2、在目录在resources处右击选择New——>mybatis-generator-config(新建一个xml文件,会生成相关代码,我们只要改下配置就好了)

    参考文档: https://blog.csdn.net/jz_say/article/details/80084957

    https://blog.csdn.net/Winstin1995/article/details/79679887

    https://blog.csdn.net/changsimeng/article/details/82496334

    <generatorConfiguration>
    
    <!--        <classPathEntry location="${db.driverLocation}"/>-->
    
        <context id="context" targetRuntime="MyBatis3Simple">
            <commentGenerator>
                <property name="suppressAllComments" value="false"/>
                <property name="suppressDate" value="true"/>
            </commentGenerator>
    
            <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
            <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                            connectionURL="jdbc:mysql://localhost:3306/sys?serverTimezone=GMT%2B8"
                            userId="root" password="mm?548600">
            </jdbcConnection>
    
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
    
            <!-- targetProject: 生成PO类的位置
                 targetPackage:指定生成的model生成所在的包名
                 targetProject: 指定在该项目下所在的路径  -->
            <javaModelGenerator targetPackage="com.shopping.entity" targetProject="src/main/java">
                <property name="enableSubPackages" value="false"/>
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>
    
            <!-- targetProject:mapper映射文件生成的位置 -->
            <sqlMapGenerator targetPackage="com.shopping.mapper" targetProject="src/main/java">
                <property name="enableSubPackages" value="false"/>
            </sqlMapGenerator>
    
            <!-- targetPackage:mapper接口生成的位置 -->
            <javaClientGenerator targetPackage="com.shopping.mapper" type="XMLMAPPER" targetProject="src/main/java">
                <property name="enableSubPackages" value="false"/>
            </javaClientGenerator>
    
            <!--        <table schema="" tableName="" enableCountByExample="false" enableDeleteByExample="false"-->
            <!--               enableSelectByExample="false" enableUpdateByExample="false"/>-->
    
            <table tableName="sys_config"
                   domainObjectName="sys_config"
                   enableCountByExample="false" enableUpdateByExample="false"
                   enableDeleteByExample="false" enableSelectByExample="false"
                   selectByExampleQueryId="false"/>
        </context>
    </generatorConfiguration>

    3.随后我们运行mybatis-generator-config,会自动生成对应的mapper和pojo文件

    后续会整合mybatis,写一个简单的demo,详情见下一篇~

  • 相关阅读:
    第三章 Java程序优化(待续)
    第二章 设计优化(待续)
    第一章 Java性能调优概述
    第十章 Executor框架
    第九章 Java中线程池
    第八章 Java中的并发工具类
    第七章 Java中的13个原子操作类
    Hihocoder [Offer收割]编程练习赛70 解题报告 By cellur925
    USACO Training刷题记录 By cellur925
    Trie树的小应用——Chemist
  • 原文地址:https://www.cnblogs.com/minet/p/12296407.html
Copyright © 2011-2022 走看看