具体pom文件代码请参考链接github
描述:
低耦合高内聚,提高扩展性。
类似于taotao商城,只是搭建了一个框架,整理maven工程的创建过程,熟悉热部署,仅作参考
大体框架:
后台管理系统工程结构:
oneday-parent -- 管理依赖jar包的版本,全局,公司级别
|--oneday-common --- 通用组件、工具类
|--oneday-manage -- 后台系统
|--com.oneday.manage.web
|--com.oneday.manage.service
|--com.oneday.manage.mapper
|--com.oneday.manage.pojo
项目目录:
解释一下:generatorSqlmapCustom是一个工具文件,贴一下
目录:
通过数据库中的对应表直接生成pojo文件和Mapper文件,配置文件贴一下:
<?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/springmvc" userId="root"
password="root">
</jdbcConnection>
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
NUMERIC 类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetProject:生成PO类的位置 -->
<javaModelGenerator targetPackage="com.oneday.pojo"
targetProject=".\src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="com.oneday.mapper"
targetProject=".\src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.oneday.mapper"
targetProject=".\src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 指定数据库表 -->
<table schema="" tableName="person"></table>
</context>
</generatorConfiguration>
环境配置
通过maven首先需要配置环境和依赖的jar包。
Eclipse的maven工程默认依赖的jar包路径是c:/用户/***/.m2
.m2的jar,我的.m2压缩文件,满足常用jar,可以使用我的直接覆盖你本地的
链接:https://pan.baidu.com/s/1c3ERVhCbU2J6pEDGzQuuCw 密码:p2u9
创建父工程:
创建jar工程
创建聚合工程manager
摘要
在文件manager上创建pojo dao service web文件,依赖关系在各自的pom文件中,参考github链接
其中web是war类型,其他都是jar类型,这里创建pojo示例dao、service同样方法创建,创建web实例
dao和service类似
下面是web文件,war用于部署
工程创建工程,具体代码参考github链接
如果访问404:解决方案
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
热部署:
我是在ubuntu下配置的tomcat,具体配置请参考其他博客,链接比较多,大部分都是安装在/usr/local/tomcat
/usr/local/tomcat
开启tomcat /bin/目录下 ./startup.sh
关闭tomcat ./shutdown.sh
注意我的mysql访问的是ip地址,你的mysq安装在哪就可以改动到哪里
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.118.87:3306/springmvc?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
# MySQL-Front 5.1 (Build 1.5)
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */;
/*!40101 SET SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES */;
/*!40103 SET SQL_NOTES='ON' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS */;
/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
# Host: localhost Database: day20
# ------------------------------------------------------
# Server version 5.0.45-community-nt
#
# Source for table person
#
DROP TABLE IF EXISTS `person`;
CREATE TABLE `person` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(10) default NULL,
`gender` int(11) default NULL,
`address` varchar(50) default NULL,
`birthday` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
#
# Dumping data for table person
#
LOCK TABLES `person` WRITE;
/*!40000 ALTER TABLE `person` DISABLE KEYS */;
INSERT INTO `person` VALUES (1,'张三',1,'北京','1996-05-06');
INSERT INTO `person` VALUES (2,'李四',0,'青岛','2018-04-04');
INSERT INTO `person` VALUES (7,'王五',1,'南京','2018-04-04');
INSERT INTO `person` VALUES (8,'赵六',1,'潍坊','2009-05-03');
INSERT INTO `person` VALUES (9,'赵3',0,'天津','1996-03-05');
INSERT INTO `person` VALUES (10,'赵3',0,'天津','1996-03-05');
/*!40000 ALTER TABLE `person` ENABLE KEYS */;
UNLOCK TABLES;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
我们需要实现热部署,自然就需要通过maven操作tomcat,所以就需要maven取得操作tomcat的权限,现在这一步就是配置tomcat的可操作权限.
在tomcat的安装目录下,修改conf / tomcat-user.xml文件,在<tomcat-users> 节点下面增加如下配置:
|
使用maven插件实现热部署
tomcat配置
我们需要实现热部署,自然就需要通过maven操作tomcat,所以就需要maven取得操作tomcat的权限,现在这一步就是配置tomcat的可操作权限.
在tomcat的安装目录下,修改conf / tomcat-user.xml文件,在<tomcat-users> 节点下面增加如下配置:
|
需要使用maven的tomcat插件。Apache官方提供的tomcat插件。
使用maven打包——》上传——热部署一气呵成。
Maven的配置
修改项目的manager中的pom.xml文件,在<build> 节点下面增加如下配置:tomcat7的配置
|
热部署之前,修改配置文件中的数据库配置、调用服务的配置为生产环境需要的ip及端口。
执行以下命令:
初次部署可以使用 "tomcat7:deploy" 命令
如果已经部署过使用 "tomcat7:redeploy" 命令
部署跳过测试:
tomcat7:redeploy -DskipTests