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,详情见下一篇~

原文地址:https://www.cnblogs.com/minet/p/12296407.html