maven構建ssm工程
maven構建ssm工程
2.1需求
在web工程的基礎上實現SSM工程構建,實現對員工和部門的管理。
2.2資料庫環境
建立資料庫:maven
匯入,maven.sql建立表
2.3定義pom.xml
maven工程首先要識別依賴,web工程實現SSM整合,需要依賴Spring、 springMVC、Mybatis等,在pom.xml新增工程如下依賴:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> < <artifactId>ssm</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging>
<!-- 新增工程的依賴 --> <dependencies <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- servlet-api JSP頁面編譯時需要的包 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> <scope>provided</scope> </dependency> <!-- Spring 以及 SpringMVC需要引入的包,自動引入需要參照的包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.6.RELEASE</version> </dependency> <!-- 持久層的包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.2</version> </dependency> <!-- Spring 和 Mybatis的整合包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.1</version> </dependency> <!-- Mysql驅動包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.19</version> </dependency> <!-- druid資料庫連線池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.28</version> </dependency>
<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.10</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.6.RELEASE</version> </dependency> <!-- 打日誌的 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.24</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.24</version> <scope>runtime</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> <scope>runtime</scope> </dependency> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>ssm</finalName> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> <include>**/*.ini</include> </includes> </resource> </resources> <plugins> <!-- 設定編譯版本為1.8 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin>
<!-- Jetty外掛,提供一種web容器 --> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.4.2.v20170220</version> <configuration> <httpConnector> <!-- 配置執行的埠號 --> <port>80</port> </httpConnector> <!-- 配置掃描的時間間隔 --> <scanIntervalSeconds>1</scanIntervalSeconds> <webApp> <!-- 配置上下文 --> <contextPath>/ssm</contextPath> </webApp> </configuration> </plugin> </plugins> </build> </project> |
2.4dao
使用Mybatis作為持久層框架,可以使用Mybatis的逆向工程來生成我們需要的程式碼。
2.4.1domain模型類
在src/main/java建立模型類
部門實體
package com.igeekhome.ssm.domain; import java.io.Serializable; public class Department implements Serializable{ private Integer deptno; private String dname; private String loc; public Integer getDeptno() { return deptno; } public void setDeptno(Integer deptno) { this.deptno = deptno; } public String getDname() { return dname; } public void setDname(String dname) { this.dname = dname == null ? null : dname.trim(); } public String getLoc() { return loc; } public void setLoc(String loc) { this.loc = loc == null ? null : loc.trim(); } } |
員工實體
package com.igeekhome.ssm.domain; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; public class Employee implements Serializable{ private Integer empno; private String ename; private String job; private Integer mgr; private Date hiredate; private BigDecimal sal; private BigDecimal comm; private Integer deptno; public Integer getEmpno() { return empno; } public void setEmpno(Integer empno) { this.empno = empno; } public String getEname() { return ename; } public void setEname(String ename) { this.ename = ename == null ? null : ename.trim(); } public String getJob() { return job; } public void setJob(String job) { this.job = job == null ? null : job.trim(); } public Integer getMgr() { return mgr; } public void setMgr(Integer mgr) { this.mgr = mgr; } public Date getHiredate() { return hiredate; } public void setHiredate(Date hiredate) { this.hiredate = hiredate; } public BigDecimal getSal() { return sal; } public void setSal(BigDecimal sal) { this.sal = sal; } public BigDecimal getComm() { return comm; } public void setComm(BigDecimal comm) { this.comm = comm; } public Integer getDeptno() { return deptno; } public void setDeptno(Integer deptno) { this.deptno = deptno; } } |
2.4.2Mapper配置檔案
Department配置檔案
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.igeekhome.ssm.dao.DepartmentMapper" > <resultMap id="BaseResultMap" type="com.igeekhome.ssm.domain.Department" > <id column="deptno" property="deptno" jdbcType="INTEGER" /> <result column="dname" property="dname" jdbcType="VARCHAR" /> <result column="loc" property="loc" jdbcType="VARCHAR" /> </resultMap> <sql id="Base_Column_List" > deptno, dname, loc </sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" > select <include refid="Base_Column_List" /> from dept where deptno = #{deptno,jdbcType=INTEGER} </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" > delete from dept where deptno = #{deptno,jdbcType=INTEGER} </delete> <insert id="insert" parameterType="com.igeekhome.ssm.domain.Department" > insert into dept (deptno, dname, loc ) values (#{deptno,jdbcType=INTEGER}, #{dname,jdbcType=VARCHAR}, #{loc,jdbcType=VARCHAR} ) </insert> <insert id="insertSelective" parameterType="com.igeekhome.ssm.domain.Department" > insert into dept <trim prefix="(" suffix=")" suffixOverrides="," > <if test="deptno != null" > deptno, </if> <if test="dname != null" > dname, </if> <if test="loc != null" > loc, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides="," > <if test="deptno != null" > #{deptno,jdbcType=INTEGER}, </if> <if test="dname != null" > #{dname,jdbcType=VARCHAR}, </if> <if test="loc != null" > #{loc,jdbcType=VARCHAR}, </if> </trim> </insert> <update id="updateByPrimaryKeySelective" parameterType="com.igeekhome.ssm.domain.Department" > update dept <set > <if test="dname != null" > dname = #{dname,jdbcType=VARCHAR}, </if> <if test="loc != null" > loc = #{loc,jdbcType=VARCHAR}, </if> </set> where deptno = #{deptno,jdbcType=INTEGER} </update> <update id="updateByPrimaryKey" parameterType="com.igeekhome.ssm.domain.Department" > update dept set dname = #{dname,jdbcType=VARCHAR}, loc = #{loc,jdbcType=VARCHAR} where deptno = #{deptno,jdbcType=INTEGER} </update> </mapper> |
Employee配置檔案
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.igeekhome.ssm.dao.EmployeeMapper" > <resultMap id="BaseResultMap" type="com.igeekhome.ssm.domain.Employee" > <id column="empno" property="empno" jdbcType="INTEGER" /> <result column="ename" property="ename" jdbcType="VARCHAR" /> <result column="job" property="job" jdbcType="VARCHAR" /> <result column="mgr" property="mgr" jdbcType="INTEGER" /> <result column="hiredate" property="hiredate" jdbcType="TIMESTAMP" /> <result column="sal" property="sal" jdbcType="DECIMAL" /> <result column="comm" property="comm" jdbcType="DECIMAL" /> <result column="deptno" property="deptno" jdbcType="INTEGER" /> </resultMap> <sql id="Base_Column_List" > empno, ename, job, mgr, hiredate, sal, comm, deptno </sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" > select <include refid="Base_Column_List" /> from emp where empno = #{empno,jdbcType=INTEGER} </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" > delete from emp where empno = #{empno,jdbcType=INTEGER} </delete> <insert id="insert" parameterType="com.igeekhome.ssm.domain.Employee" > insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno) values (#{empno,jdbcType=INTEGER}, #{ename,jdbcType=VARCHAR}, #{job,jdbcType=VARCHAR}, #{mgr,jdbcType=INTEGER}, #{hiredate,jdbcType=TIMESTAMP}, #{sal,jdbcType=DECIMAL}, #{comm,jdbcType=DECIMAL}, #{deptno,jdbcType=INTEGER}) </insert> <insert id="insertSelective" parameterType="com.igeekhome.ssm.domain.Employee" > insert into emp <trim prefix="(" suffix=")" suffixOverrides="," > <if test="empno != null" > empno, </if> <if test="ename != null" > ename, </if> <if test="job != null" > job, </if> <if test="mgr != null" > mgr, </if> <if test="hiredate != null" > hiredate, </if> <if test="sal != null" > sal, </if> <if test="comm != null" > comm, </if> <if test="deptno != null" > deptno, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides="," > <if test="empno != null" > #{empno,jdbcType=INTEGER}, </if> <if test="ename != null" > #{ename,jdbcType=VARCHAR}, </if> <if test="job != null" > #{job,jdbcType=VARCHAR}, </if> <if test="mgr != null" > #{mgr,jdbcType=INTEGER}, </if> <if test="hiredate != null" > #{hiredate,jdbcType=TIMESTAMP}, </if> <if test="sal != null" > #{sal,jdbcType=DECIMAL}, </if> <if test="comm != null" > #{comm,jdbcType=DECIMAL},
相關推薦maven構建ssm工程maven構建ssm工程 2.1需求 在web工程的基礎上實現SSM工程構建,實現 深入淺出maven系列(三)---maven構建ssh工程(父工程與子模組的拆分與耦合) 前一節我們初識了maven並且掌握了maven的常規使用,這一節就來講講它的一個重要的場景,也就是通過maven將一個ssh專案分隔為不同的幾個部門獨立開發,很重要,加油!!!前一節我們初識了maven並且掌握了maven的常規使用,這一節就來講講它的一個重要的場景,也就是通過maven將一個ssh專案分隔為不同的幾個部門獨立開發,很重要,加油!!! 一、maven父工 Maven 構建SSM架構是出現的異常:class path resource [mapper/*.xml] cannot be opened because it does not exist異常資訊: [INFO] Root WebApplicationContext: initialization started [WARNING] Exception encountered during context initialization - cancelling r 搭建Maven版SSM工程down hang utf typealias 加載數據 tor prop pil fig Maven對於開發人員來說是一個很方便的jar管理工具,可以自定下載所需要的jar包只要定義好版本即。 剛開始自己學著搭建maven,發現網上每個人搭建的都不一樣,都有自己的風格,我 使用maven構建ssm管理系統這裡直接使用idea創建出maven專案,構建所得的專案結構如下: 專案介紹 使用框架:spring+mybatis+springMVC 資料庫:mysql 專案管理工具:maven 編譯器:intellij idea pom.xml <?xml ver 用maven構建ssm(spring+springmvc+mybatis)框架建立maven專案使用idea或者eclipes建立maven web專案(具體步驟請參考其他部落格)pom.xml檔案1.在pom檔案中的url標籤下加入下面程式碼,方便以後更改jar包版本 <properties> <springframework Eclipse用maven構建SSM框架遇到的問題及解決方法聽說Maven很好用,剛剛好實驗了Spring+Mvc企業應用實踐的一個小專案,所以就拿它來練手了,用maven來重構它。 開發環境如下: Eclipse:Eclipse Project Release Notes 4.7 (Oxygen) JDK:JDK1.8.0_1 maven構建Idea工程出現For artifact {null :null:null:jar}: The groupId cannot be empty今天在構建saiku使用mvm idea:idea命令構建專案工程時,總是在構建saiku-service專案時報錯,提示For artifact {null :null:null:jar}: The groupId cannot be empty,開始還以為是因為引用關係出 idea建立簡單SSM工程(不使用maven構建工程)第一次發博,從前都是使用maven構建專案,今日心血來潮通過拷貝jar包的方式構建,發現出了不少的問題,故來總結一番。 專案結構如下: 1、jar包的引入 拷貝jar包到WEB-INF資料夾下的lib包下,並按下圖指定該資料夾為存放jar包的資料夾。 2、在WEB-IN 多工程:基於Maven的SSM(Spring,SpringMvc,Mybatis)整合的web工程(中)png 開始 版本 war mage ont 右鍵 調用 web工程 上篇用了單工程創建了SSM整合的web工程(http://www.cnblogs.com/yuanjava/p/6748956.html),這次我們把上篇的單工程改造成為多模塊工程 一:創建 maven(二) maven項目構建ssh工程(父工程與子模塊的拆分與聚合)子模塊 mbo warnings 找不到 .cn scope spl template opened 前一節我們明白了maven是個什麽玩意,這一節就來講講他的一個重要的應用場景,也就是通過maven將一個ssh項目分割為不同的幾個部分獨立開發,很重要,加油 轉帖:maven(二) maven項目構建ssh工程(父工程與子模塊的拆分與聚合)圖片 做的 bsp IT 是個 pan 有一種 junit img 出處:http://www.cnblogs.com/whgk/p/7121336.html 前一節我們明白了maven是個什麽玩意,這一節就來講講他的一個重要的應用場景,也就是通過maven將一個ssh 使用maven構建專案時,SSM和springboot專案的打包與雲伺服器部署下面講講如何打包SSM和springboot專案,並部署到雲伺服器上。 由於使用的IDE不同,有的使用eclipse,有的使用idea,所以如果在IDE中按照 maven clean 再 maven install的方式打包會稍有不同,下面介紹一種通用的方式,不論SS maven分模組構建專案工程分模組構建工程 基於上邊的三個工程分析,我們將持久層,業務層、控制器和試圖表現層可以分為三個不同的模組來處理,建立一 eclipse 使用maven構建簡單的專案工程操作hadoop HDFSS通過構建一個簡單的專案工程,圍繞對實現分散式檔案系統HDFS 的操作展開學習。 參考資料:華為大資料 模組2 HDFS的應用開發。 hadoop 叢集的搭建可參考: https://mp.csdn.net/mdeditor/84288315 jdk 版本:1.8 一、使用maven 建立 IDEA+SSM+MAVEN構建可執行專案對於java+idea+ssm新手來講,跑一個demo出來簡直是災難呀。。坑! 1、新建maven專案: 一路next直到建立完成專案,maven自動建立專案會輸出如下資訊: [INFO] -------------------------------- IntelliJ IDEA 構建maven多模組工程專案(詳細多圖)食用前須知 本文以a b c 三個模組為例來搭建專案,以達到通俗易懂的初衷 模組a —– 基模組,就是人們常說的parent 模組b —– 其他模組都需要使用的一些工具,比如時間工具,json工具等 模組c —– 專案主要的內容,一般為 將maven構建成一個標準的web工程1、點選maven的專案名右擊,選擇最後一個properties; 2、找到maven選擇project facets,勾選Java,並對應你jdk的版本號,隨後選擇Dynamic web Module,點選Further configuration available,跳出web工程的頁面 IntelliJ IDEA生成jar包(工程基於maven構建)新建工程 新建一個基於maven構建的java專案工程,新建後如下所示: pom檔案加入rabbitmq模組依賴,如下: 修改Main.java檔案,這裡讓它作為rabbitmq的訊息傳送端: package cn.linjk.send; 【Maven】實際構建SSM框架和用maven構建的詳細區別工具:IDEA 一個新電腦,打算配置個SSM框架。本來 打算自己下Jar包自己配,自力更生嘛! 0x01 --自己配環境 好,既然是Spring MVC+Spring+MyBatis .那麼就從Sping開始配吧 開啟Spring官網:https://spring.io |