1. 程式人生 > >maven構建ssm工程

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>

    <

groupId>com.igeek.maven</groupId>

    <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

搭建MavenSSM工程

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

工程:基於MavenSSM(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