欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-03 09:26:07
...

   ----2018/7/13  

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


一  搭建idea maven聚合项目

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

传统的工程结构:

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

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>

如下图:

【SQshop 搭建的第一天】Idea maven 聚合项目初体验 &amp;&amp; mybatis****

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


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包

【SQshop 搭建的第一天】Idea maven 聚合项目初体验 &amp;&amp; mybatis****

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.结果(自动生成了这么多文件,舒服呀)

【SQshop 搭建的第一天】Idea maven 聚合项目初体验 &amp;&amp; mybatis****