Maven搭建SSM+热部署实现基本查询

源码:https://github.com/daydayRen/class

具体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> 节点下面增加如下配置:

<role rolename="manager-gui" />

<role rolename="manager-script" />

<user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/>

 

 

 

使用maven插件实现热部署

 

tomcat配置 

我们需要实现热部署,自然就需要通过maven操作tomcat,所以就需要maven取得操作tomcat的权限,现在这一步就是配置tomcat的可操作权限.

在tomcat的安装目录下,修改conf / tomcat-user.xml文件,在<tomcat-users> 节点下面增加如下配置:

<role rolename="manager-gui" />

<role rolename="manager-script" />

<user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/>

 

需要使用maven的tomcat插件。Apache官方提供的tomcat插件。

 

使用maven打包——》上传——热部署一气呵成。

 

Maven的配置

修改项目的manager中的pom.xml文件,在<build> 节点下面增加如下配置:tomcat7的配置

 

<build>

<plugins>

<!-- 配置Tomcat插件 -->

<plugin>

<groupId>org.apache.tomcat.maven</groupId>

<artifactId>tomcat7-maven-plugin</artifactId>

<configuration>

<port>8081</port>

<path>/</path>

<url>http://192.168.118.03:8080/manager/text</url>

<username>tomcat</username>

<password>tomcat</password>

</configuration>

</plugin>

</plugins>

</build>

 

 

 

热部署之前,修改配置文件中的数据库配置、调用服务的配置为生产环境需要的ip及端口。

执行以下命令:

初次部署可以使用 "tomcat7:deploy" 命令

如果已经部署过使用 "tomcat7:redeploy" 命令

 

 

部署跳过测试:

tomcat7:redeploy -DskipTests

 

还有疑问请私信或者 评论

 


    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值