IDEA使用Maven搭建SSM项目

        IDEA楼主也是刚使用没几天,用起来确实比MyEclipse或者Eclipse方便,代码提示功能真的有可以“飞上天”的感觉(),强烈建议开发人员使用,无论使用什么开发工具都会有个过渡期,刚开始的两三天肯定会不舒服,一回生二回熟,当你习惯IDEA以后,你会爱不释手,(绝壁顺手*****五颗星推荐),好了,多余的话我们就不多说了,高质量的代码并非由工具来决定的。进入今天的正题:

        IDEA使用Maven搭建SSM项目(MyEclipse建立ssm框架Demo可点击这里:点我呀

一、 IDEA的激活:这里给大家一个网址:http://idea.iteblog.com/

            这里提供了两种方式激活:

  1. 按要求输入就行,(这种方式激活后,有一定的时间限制,但是后面开发时有网无网都可以使用)
  2. 输入“http://idea.iteblog.com/key.php” (此种方式也可以激活,据说只有在网时才能使用)

二、maven的安装,csdn上有很多教程,这里就不再陈述了,有一点需要说明的是:使用maven时,oracle由于版权问题,无法在pom.xml中下载驱动包,这个就要手动安装oracle驱动包到本地maven仓库中了,具体方法也可以去http://blog.csdn.net/sutongxuevip/article/details/54574156 查看,安装完成后我们就可以愉快地使用oracle数据库了

三、Demo开始,跟往常一样,我们还是分步骤:


  • File--》Project

IDEA使用Maven搭建SSM项目_第1张图片

  • 更改空间名称
IDEA使用Maven搭建SSM项目_第2张图片

  • Cancel
IDEA使用Maven搭建SSM项目_第3张图片
  • 关闭后选择  this window ==》File ==>settings ==》 maven
IDEA使用Maven搭建SSM项目_第4张图片

  • Apply==>OK==>File ==> New ==> Module
IDEA使用Maven搭建SSM项目_第5张图片

IDEA使用Maven搭建SSM项目_第6张图片

IDEA使用Maven搭建SSM项目_第7张图片

IDEA使用Maven搭建SSM项目_第8张图片

IDEA使用Maven搭建SSM项目_第9张图片


既然建立ssm框架,我们要明确ssm框架所需jar

junit-4.8.2.jar  
mybatis-3.4.1.jar  
mybatis-spring-1.3.0.jar  
ojdbc14.jar  
spring-aop-4.3.5.RELEASE.jar  
spring-aspects-4.3.5.RELEASE.jar  
spring-beans-4.3.5.RELEASE.jar  
spring-context-4.3.5.RELEASE.jar  
spring-context-support-4.3.5.RELEASE.jar  
spring-core-4.3.5.RELEASE.jar  
spring-expression-4.3.5.RELEASE.jar  
spring-jdbc-4.3.5.RELEASE.jar  
spring-tx-4.3.5.RELEASE.jar  
spring-web-4.3.5.RELEASE.jar  
spring-webmvc-4.3.5.RELEASE.jar 
这里列举的只是所必需要有的jar,还有其它。。。
  • 修改pom.xml文件

  4.0.0
  com.ssm
  Demo
  war
  1.0-SNAPSHOT
  Demo Maven Webapp
  http://maven.apache.org

  
    UTF-8
    UTF-8

    
    4.3.5.RELEASE

    
    3.2.8

  

  
    
    
      org.springframework
      spring-aop
      ${spring.version}
    
    
      org.springframework
      spring-core
      ${spring.version}
    
    
      org.springframework
      spring-tx
      ${spring.version}
    
    
      org.springframework
      spring-beans
      ${spring.version}
    
    
      org.springframework
      spring-context
      ${spring.version}
    
    
      org.springframework
      spring-web
      ${spring.version}
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
      org.springframework
      spring-context-support
      ${spring.version}
    
    
      org.springframework
      spring-jdbc
      ${spring.version}
    
    
      org.springframework
      spring-expression
      ${spring.version}
    
    
    
      org.mybatis
      mybatis
      ${mybatis.version}
    
    
    
      org.mybatis
      mybatis-spring
      1.3.0
    

    
    
      log4j
      log4j
      1.2.17
    
    
      org.slf4j
      slf4j-api
      1.7.18
    
    
      org.slf4j
      slf4j-log4j12
      1.7.18
    

    
    
      com.fasterxml.jackson.core
      jackson-core
      2.8.0
    
    
      org.codehaus.jackson
      jackson-mapper-asl
      1.9.13
    
    
      com.fasterxml.jackson.core
      jackson-databind
      2.8.0
    

    
    
      commons-fileupload
      commons-fileupload
      1.3.1
    
    
      commons-io
      commons-io
      2.4
    
    
      commons-codec
      commons-codec
      1.9
    

    
    
      jstl
      jstl
      1.2
    
    
    
    
      javax.servlet.jsp
      javax.servlet.jsp-api
      2.3.2-b02
    
    
    
      javax.servlet
      javax.servlet-api
      4.0.0-b01
    

    
    
      junit
      junit
      3.8.1
      test
    
    
    
      com.oracle
      ojdbc14
      11.1.0.6.0
    
  

  
    Demo
    
      
        src/main/java
        
          **/*.properties
          **/*.xml
        
        false
      
    
  

这里我们使用的是oracle数据库,IDEA默认是不支持oracle数据库的。需要手动添加oracle驱动到本地的maven仓库中。(详情可查看: http://blog.csdn.net/sutongxuevip/article/details/54574156)

如果pom.xml里面的参数不知道该怎么去写,我们可以去 http://mvnrepository.com/
IDEA使用Maven搭建SSM项目_第10张图片
输入所需要的jar就可以查看该参数了例如:spring-aop.jar
IDEA使用Maven搭建SSM项目_第11张图片
IDEA使用Maven搭建SSM项目_第12张图片

IDEA使用Maven搭建SSM项目_第13张图片

  • src--main--》java--》新建包
IDEA使用Maven搭建SSM项目_第14张图片

  • resources中编写applicationContext.xml文件



	
	
	
		
		
		
		

	

	
	
		
		
		
	

	
	
		
		
		
	

	
	

	
	


	
	
		
		
	

我们只是做个简单的Demo,这里的配置并没有写完整,只写了所必须的
  • 在resources下编辑log4j.properties文件
#\u5B9A\u4E49LOG\u8F93\u51FA\u7EA7\u522B
log4j.rootLogger = info ,stdout,D

log4j.logger.com.wisemedia = info

### \u8f93\u51fa\u5230\u63a7\u5236\u53f0 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n
 
### \u8f93\u51fa\u5230\u65e5\u5fd7\u6587\u4ef6 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = D:/logs/log.log
log4j.appender.D.Append = true

## \u8f93\u51faDEBUG\u7ea7\u522b\u4ee5\u4e0a\u7684\u65e5\u5fd7
log4j.appender.D.Threshold = info 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
 

#mybatis\u663e\u793aSQL\u8bed\u53e5\u65e5\u5fd7\u914d\u7f6e  
log4j.logger.java.sql=debug,sqlLog
log4j.appender.sqlLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.sqlLog.File=D:/logs/sqlLog.log
log4j.appender.sqlLog.layout=org.apache.log4j.PatternLayout
log4j.appender.sqlLog.layout.ConversionPattern=%d %p %m%n

这里的日志不是输出在控制台的,是在D盘下的logs文件下,需要手动创建该文件夹
  • 编写web.xml文件


    
    
        index.jsp
    

    
        SpringMVC
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath*:applicationContext.xml
        
        1
    
    
        SpringMVC
        /
    

    
        encodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            utf-8
        
    
    
        encodingFilter
        /*
    



  • 编辑实体类
Emp实体类
package com.ssm.dao;

import java.util.Date;

/**
 * Created by LiangYafeng on 2017.01.16.
 */
public class Emp {
    private Integer empno;
    private String ename;
    private String job;
    private Integer mgr;
    private Date hiredate;
    private Double sal;
    private Double 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;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    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 Double getSal() {
        return sal;
    }

    public void setSal(Double sal) {
        this.sal = sal;
    }

    public Double getComm() {
        return comm;
    }

    public void setComm(Double comm) {
        this.comm = comm;
    }

    public Integer getDeptno() {
        return deptno;
    }

    public void setDeptno(Integer deptno) {
        this.deptno = deptno;
    }
}

 
    
  • Condition实体类
package com.ssm.entity;

import java.util.List;

/**
 * Created by LiangYafeng on 2017.01.16.
 */
public class Condition {
    private Integer deptno;
    private Double salary;
    private List empnos;

    public Integer getDeptno() {
        return deptno;
    }

    public void setDeptno(Integer deptno) {
        this.deptno = deptno;
    }

    public Double getSalary() {
        return salary;
    }

    public void setSalary(Double salary) {
        this.salary = salary;
    }

    public List getEmpnos() {
        return empnos;
    }

    public void setEmpnos(List empnos) {
        this.empnos = empnos;
    }
}


 
    
  • EmpMapper.xml文件
 
     






    


    
        insert into t_emp values(
        emp_seq.nextval,
        #{ename,jdbcType=VARCHAR},
        #{job,jdbcType=VARCHAR},
        #{mgr,jdbcType=NUMERIC},
        #{hiredate,jdbcType=DATE},
        #{sal,jdbcType=NUMERIC},
        #{comm,jdbcType=NUMERIC},
        #{deptno,jdbcType=NUMERIC}
        )
    


    


    
        update t_emp set
        ename = #{ename,jdbcType=VARCHAR},
        job = #{job,jdbcType=VARCHAR},
        sal = #{sal,jdbcType=NUMERIC}
        where empno=#{empno,jdbcType=NUMERIC}
    



    
        delete from t_emp where empno=#{id}
    




 
   
 
   
 
   
 
   
 
   
  • 编写EmpDao接口
 
   

package com.ssm.dao;

import com.ssm.entity.Emp;

import java.util.List;

/**
 * Created by LiangYafeng on 2017.01.16.
 */
public interface EmpDao {

    public List findAll();        // 查询全部

    public void save(Emp emp);            // 添加

    public Emp findById(int id);        // 按id查询

    public void update(Emp emp);        // 更新

    public void delete(int id);            // 删除
}

  • 编写Controller类
package com.ssm.controller;

import com.ssm.dao.EmpDao;
import com.ssm.entity.Emp;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import javax.annotation.Resource;
import java.util.List;

/**
 * Created by LiangYafeng on 2017.01.16.
 */
@Controller
public class EmpController {
    @Resource
    private EmpDao empDao;
    public void setEmpDao(EmpDao empDao) {
        this.empDao = empDao;
    }

    @RequestMapping("/find.do")
    public String find(Model model) {
        List list = empDao.findAll();
        model.addAttribute("emps", list);
        return "emp_list";
    }

    /*
     * 打开新页面
     */
    @RequestMapping("/toAddEmp.do")
    public String toAdd(){

        return "add_emp";
    }
    /*
     * 新增保存
     */
    @RequestMapping("/addEmp.do")
    public String add(Emp emp){
        empDao.save(emp);
        return "redirect:find.do";
    }

    /*
     * 打开修改页面
     */
    @RequestMapping("/toUpdateEmp.do")
    public String toUpdate(@RequestParam("id") int id, Model model){
        Emp emp =empDao.findById(id);
        model.addAttribute("emp",emp);
        return "update_emp";
    }

    /*
     * 修改保存
     */
    @RequestMapping("/updateEmp.do")
    public String update(Emp emp){
        empDao.update(emp);
        return "redirect:find.do";
    }

    /*
     * 删除
     */
    @RequestMapping("/deleteEmp.do")
    public String delete(@RequestParam("id") int id){
        empDao.delete(id);
        return "redirect:find.do";
    }

}

  • 在WEB-INF下建立emp文件夹编辑jsp页面
  • emp_list.jsp
<%--
  Created by IntelliJ IDEA.
  User: LiangYafeng
  Date: 2017.01.16
  Time: 17:27
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


    emp_list.jsp
    


EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
${emp.empno} ${emp.ename} ${emp.job} ${emp.mgr} ${emp.hiredate} ${emp.sal} ${emp.comm} ${emp.deptno}
  • emp_add.jsp
<%--
  Created by IntelliJ IDEA.
  User: LiangYafeng
  Date: 2017.01.16
  Time: 17:29
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


    add_emp.jsp


姓名
岗位
工资
  • emp_update.jsp
<%--
  Created by IntelliJ IDEA.
  User: LiangYafeng
  Date: 2017.01.16
  Time: 17:30
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


    Title


EMPNO:
姓名:
岗位:
工资:

  • 配置Toncat

  • 访问页面 http://localhost:8080/ssm/find.do
IDEA使用Maven搭建SSM项目_第15张图片



  • 项目源码:点击下载

你可能感兴趣的:(IDEA使用Maven搭建SSM项目)