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