【SQshop 搭建的第一天】Idea maven 聚合项目初体验 && mybatis逆向工程

   ----2018/7/13  

前几天去面试了,结果不太理想。(面试官问的都能答得上来,那边也是比较满意的。结果。。。 TM是培训机构。。不过想想现在还是大二,明年大三还有课,可能找工作还是太早了。)所以打算照着写个企业级的电商项目。。  等以后去面试,也有个拿得出的项目,也习惯一下企业项目的开发模式。话不多说了。开始。。。。


一  搭建idea maven聚合项目

①了解一般聚合项目的结构

传统的工程结构:


Maven 聚合项目结构:

parent: jar包集中管理

common:导入工具类的jar包,继承parent

manage:工程包,继承parent

mapper: 导入mybatis,与数据库有关的jar包

service:导入spring相关的jar包

controller继承service,service继承mapper,mapper继承pojo

注意:controller这个module必须指定打包格式为war包

<packaging>war</packaging>

如下图:

这里就不写具体的步骤了。                                                   ----图片引用传智的淘淘商城案例


parent下的pom.xml(需要导入的jar包就不放出来了。这里就写下插件的配置)

    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <!-- 资源文件拷贝插件 -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <!-- 配置Tomcat插件 -->
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
                <!--配置逆向mybatis工程-->
                <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>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

二  idea下mybatis逆向工程实现

generatorSqlMapCustom项目github地址:

https://github.com/xuliugen/generatorSqlmapCustom.git


ps:去github搜索generator可以搜出的

逆向工程:就是通过已有,建好的数据库,去自动创建mapper ,java对象

这里有个意见:就是逆向工程的创建,还是重新创建个空项目,在空项目中实现。   这样就不会把项目搞的超级乱。。。

1.创建java项目

2.导入许需要的jar包


3.引用generatorConfig.xml配置文件(github项目中有)

<?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>
	<context id="testTables" targetRuntime="MyBatis3">
		<commentGenerator>
			<!-- 是否去除自动生成的注释 true:是 : false:否 -->
			<property name="suppressAllComments" value="true" />
		</commentGenerator>
		<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://localhost:3306/sqshop" userId="root"
			password="197219">
		</jdbcConnection>
		<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 
			NUMERIC 类型解析为java.math.BigDecimal -->
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>

		<!-- targetProject:生成PO类的位置 -->
		<javaModelGenerator targetPackage="cn.sleepq123.pojo"
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
			<!-- 从数据库返回的值被清理前后的空格 -->
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
		<sqlMapGenerator targetPackage="cn.sleepq123.mapper"
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</sqlMapGenerator>
		<!-- targetPackage:mapper接口生成的位置 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="cn.sleepq123.mapper"
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</javaClientGenerator>
		<!-- 指定数据库表 -->
		<table schema="" tableName="user"></table>
		<table schema="" tableName="admin"></table>
		<table schema="" tableName="product"></table>
		<table schema="" tableName="shopcart"></table>
		<table schema="" tableName="words"></table>


	</context>
</generatorConfiguration>

4.导入src下的GeneratorSqlMap.java.   (无需修改,前面配置文件配置过的话,现在直接运行就OK)

5.结果(自动生成了这么多文件,舒服呀)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章