IDEA+MAVEN基于ssm框架的数据库查询

源代码:https://download.csdn.net/download/weixin_42493072/11262891

Spring
  Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
  Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地new一个对象,而是让Spring框架帮你来完成这一切。
SpringMVC
  SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
mybatis
  mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
  
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
下面,我将分享我使用IDEA,利用MAVEN管理项目,整合SSM框架搭建一个项目,实现对数据库中UserInfo表中数据的查询。

开发工具

  • IntelliJ IDEA 2018
  • JDK1.8
  • tomcat 7.0.79
  • Mysql 5.0
  • Maven 3.6.0

完成后的工程结构:
IDEA+MAVEN基于ssm框架的数据库查询_第1张图片
IDEA+MAVEN基于ssm框架的数据库查询_第2张图片

详细开发过程:

一、数据库的建立
我是在之前已经存在的数据库paper中新建了一个表userinfo表,并向其中插入了一条数据。
在这里插入图片描述
在这里插入图片描述
二、新建Maven项目
1.File—>New—>Project
IDEA+MAVEN基于ssm框架的数据库查询_第3张图片

  • Maven -> 勾选 Create from archetype -> 选择 maven-archetype-webapp–>next
    IDEA+MAVEN基于ssm框架的数据库查询_第4张图片
    3.在弹出的new project 选项卡中填写GroupId和Artifactid,其中GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构,ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。对于入门练习,这两项可以随意填写。
    IDEA+MAVEN基于ssm框架的数据库查询_第5张图片
    4.点击next后,选择Maven版本,点击选择自己安装的maven所在的路径,点击ok,再点击next。
    IDEA+MAVEN基于ssm框架的数据库查询_第6张图片
    5.填写项目名称Project name,点击Finish。
    IDEA+MAVEN基于ssm框架的数据库查询_第7张图片
    新建后的项目如下图所示:
    IDEA+MAVEN基于ssm框架的数据库查询_第8张图片
    6.在项目的根目录下新建target文件夹,系统自动将其设置为“Excluded”
    右击test–>New–>Directory–>命名为target
    IDEA+MAVEN基于ssm框架的数据库查询_第9张图片
    7.在src/main目录下新建Directory:“java”,并将其设置为“Source Root”(即:此项目默认的代码文件源目录)
    IDEA+MAVEN基于ssm框架的数据库查询_第10张图片
    IDEA+MAVEN基于ssm框架的数据库查询_第11张图片
    8.同理,在src/main目录下新建Directory:“resources”,并将其设置为“Resources Root”
    IDEA+MAVEN基于ssm框架的数据库查询_第12张图片
    9.在刚才新建的java文件下新建“com”包,再在com包下新建四个包,分别命名为:bean,service,dao,controller。
    IDEA+MAVEN基于ssm框架的数据库查询_第13张图片
    上面新建的四个包:bean,service,dao,controller,其所存放的分别是:

  • bean: 存放自定义的java类,理论上每个数据库表都应有一个对应的java类。比如:我的userinfo表应该新建一个UserInfo类,每个类的属性设为private,并提供public属性的getter/setter方法让外界访问

  • service:定义接口,包含系统所提供的功能。(之后还会在service包下再新建impl包)。

  • dao:定义接口,包含与数据库进行交互的功能。

  • controller:控制器,负责接收页面请求,转发和处理。

10.在resource包下新建Directory:“mapper”(用于存放xxxMapper.xml文件)和“spring”(用于存放spring-xxx.xml配置文件),新建文件:“db.properties”(mysql数据库配置文件),”log4j.properties”(日志输出配置文件),”mybatis-config.xml”(mybatis框架配置文件),“applicationContext.xml”。
IDEA+MAVEN基于ssm框架的数据库查询_第14张图片
11.在webapp目录下新建新建Directory:“jsp”,用于存放xxx.jsp显示界面。
补充之后的项目目录如下图所示,至此项目骨架搭建完毕,开始写代码实现功能。
IDEA+MAVEN基于ssm框架的数据库查询_第15张图片


三、编码实现功能

对项目的pom.xml文件进行配置,在此文件中配置项目所需要的jar包。
pom.xml




  4.0.0

  test
  test
  1.0-SNAPSHOT
  war

  test Maven Webapp
  
  http://www.example.com

  
    UTF-8
    1.7
    1.7
    
    5.0.2.RELEASE
    
    3.2.6
    
    1.7.7
    1.2.17
    0.9.5.2
    1.1.2
  

  
    
    
      org.springframework
      spring-core
      ${spring.version}
    

    
      org.springframework
      spring-web
      ${spring.version}
    
    
      org.springframework
      spring-oxm
      ${spring.version}
    
    
      org.springframework
      spring-tx
      ${spring.version}
    

    
      org.springframework
      spring-jdbc
      ${spring.version}
    

    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
      org.springframework
      spring-aop
      ${spring.version}
    

    
      org.springframework
      spring-context-support
      ${spring.version}
    

    
      org.springframework
      spring-test
      ${spring.version}
    
    
    
      org.mybatis
      mybatis
      ${mybatis.version}
    
    
    
      org.mybatis
      mybatis-spring
      1.2.2
    
    
    
      javax
      javaee-api
      7.0
    

    
    
      mysql
      mysql-connector-java
      5.1.30
    
    
    
      commons-dbcp
      commons-dbcp
      1.2.2
    
    
    
      jstl
      jstl
      1.2
    
    
    
    
      log4j
      log4j
      ${log4j.version}
    


    
    
      com.mchange
      c3p0
      ${c3p0.version}
    

    
      taglibs
      standard
      ${taglibs.version}
    

    
      org.slf4j
      slf4j-api
      ${slf4j.version}
    
    
      org.slf4j
      slf4j-log4j12
      ${slf4j.version}
    

    
    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    
    
    
      javax.servlet.jsp
      javax.servlet.jsp-api
      2.3.1
      provided
    
  

  
    test
    
      
        
          maven-clean-plugin
          3.1.0
        
        
        
          maven-resources-plugin
          3.0.2
        
        
          maven-compiler-plugin
          3.8.0
        
        
          maven-surefire-plugin
          2.22.1
        
        
          maven-war-plugin
          3.2.2
        
        
          maven-install-plugin
          2.5.2
        
        
          maven-deploy-plugin
          2.8.2
        
      
    
  


applicationContext.xml



    
    

    
    
        
        
        
        
        
        
    

    
    
        
        
        
        

        
        

    

    
    
    
        
        
        
        
    



    
    


    
    
    
        
    
    
    


下面开始写java代码
1.bean包下新建类UserInfo.java

package com.bean;

public class UserInfo {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "UserInfo{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

2.在service包中新建接口 IUserService:

package com.service;

import com.bean.UserInfo;

import java.util.List;

public interface IUserService {

    List findall();//查询方法
}

3.在service包下新建impl包,并在此包中新建UserService.java

package com.service.impl;

import com.bean.UserInfo;
import com.dao.IUserDao;
import com.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService implements IUserService {

    @Autowired
    private IUserDao userDao;

    @Override
    public List findall() {
        return userDao.findall();
    }
    
}

4.在dao包中新建接口 IUserDao.java

package com.dao;

import com.bean.UserInfo;

import java.util.List;

public interface IUserDao {

    public List findall();
    public int adduser(UserInfo userinfo);

}

5.在controller包中新建 UserController.java

package com.controller;

import com.bean.UserInfo;
import com.service.IUserService;
import com.service.impl.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import javax.xml.registry.infomodel.User;
import java.util.List;

//control层实现页面跳转

@Controller
@RequestMapping("/user")
public class UserController {

    @Autowired
    private IUserService userService;

    @RequestMapping("/findAll.do")
    public ModelAndView findall() {
        List all = userService.findall();
        ModelAndView mv=new ModelAndView();
        mv.addObject("userinfos", all);
        mv.setViewName("allUser");
        return mv;
    }

}

6.在resource/mapper包下新建 UserMapper.xml(mybatis框架mapper代理开发配置文件)








7.在resource/spring包下分别新建配置文件: spring-mvc.xml
IDEA+MAVEN基于ssm框架的数据库查询_第16张图片
spring-mvc.xml




    
    

    
    
    

    
    
        
        
    

8.在db.properties文件中配置mysql数据库(这里的数据库名、表名,用户名,密码一定要记得修改!!!)。

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/paper?useSSL=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456

9.在log4j.properties文件中配置日志设定

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

10.配置web.xml文件

 Archetype Created Web Application
  
  
    contextConfigLocation
    classpath*:applicationContext.xml
  

  
  
    org.springframework.web.context.ContextLoaderListener
  
  
    org.springframework.web.context.request.RequestContextListener
  

  
  
    characterEncodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
  
  
    characterEncodingFilter
    /*
  

  
  
    dispatcherServlet
    org.springframework.web.servlet.DispatcherServlet
    
    
      contextConfigLocation
      classpath:spring/spring-mvc.xml
    
    
    1
  
  
    dispatcherServlet
    *.do
  



11.修改index.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" isELIgnored="false"%>


Hello World!

点击此处跳转

12在webapp/jsp包下新建allUser.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>



    user列表
    
    
    


id 用户名 密码 操作
${userInfo.id} ${userInfo.username} ${userInfo.password} 更改 | 删除

四、利用tomcat进行项目部署
IDEA配置tomcat:
1.点击上方的 Run 选项,选择Edit Configuration
IDEA+MAVEN基于ssm框架的数据库查询_第17张图片
2.选择templates -> Tomcat Server-> local 选择下载安装到本地的tomcat服务器的地址
IDEA+MAVEN基于ssm框架的数据库查询_第18张图片
3切换到Deployment选项页 点击 + 号选择 Arctifact
IDEA+MAVEN基于ssm框架的数据库查询_第19张图片
4.添加 项目名:war exploded 打包
IDEA+MAVEN基于ssm框架的数据库查询_第20张图片
5.最后在Application context 中选择 空白 那一项,点击 Apply 应用。
IDEA+MAVEN基于ssm框架的数据库查询_第21张图片
6.最后切换到index.jsp界面,右键Run’index.jsp’运行项目
IDEA+MAVEN基于ssm框架的数据库查询_第22张图片
五、运行界面
IDEA+MAVEN基于ssm框架的数据库查询_第23张图片
点击链接后,跳转到下面的界面:
IDEA+MAVEN基于ssm框架的数据库查询_第24张图片

源代码:https://download.csdn.net/download/weixin_42493072/11262891

你可能感兴趣的:(IDEA+MAVEN基于ssm框架的数据库查询)