SSM整合实例--(一)项目搭建

一、框架简介

SSM框架,即SpringMVC+Spring+Mybatis,其中SpringMVC与Spring可以更好的正好。对比SSH框架,Mybatis相比Hibernate更加简单易用,也更轻便,配置也较为简单。

准备做一个显示商品列表,可以进行CRUD操作的小项目,这一节先搭建环境试运行列表显示。CRUD操作后面更新。

二、项目搭建

2.1 包结构如下
SSM整合实例--(一)项目搭建_第1张图片
jsp页面
SSM整合实例--(一)项目搭建_第2张图片
2.2 配置详细

2.2.1 mybatis配置

SqlMapConfig.xml







	
		
	


2.2.2 Spring配置

spring及springmvc配置都进行配置

spring配置可根据不同层次进行拆分

applicationContext-dao.xml




	
	

	
	
		
		
		
		
		
		
		
		
	
	
	
	
		
		
		
		
	
	
	
	
		
	

applicationContext-service.xml




	
	

springmvc.xml

代码中有对静态资源放行,暂时还没有静态资源,可以忽略



		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
			
			
			
			
		
		

2.2.3 jdbc.properties

jdbc.properties

数据库配置

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3305/db_supermaket?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

log4j就自己添加吧

2.3 web.xml 配置



	Pro_list
	
		index.html
		index.htm
		index.jsp
		default.html
		default.htm
		default.jsp
	

	
	
		contextConfigLocation
		classpath:spring/applicationContext-*.xml
	

	
	
		org.springframework.web.context.ContextLoaderListener
	

	
	
		encoding
		org.springframework.web.filter.CharacterEncodingFilter
		
			encoding
			UTF-8
		
	

	
		encoding
		/*
	



	
	
		product
		org.springframework.web.servlet.DispatcherServlet
		
			contextConfigLocation
			classpath:spring/springmvc.xml
		
		
		
		
		1
	

	
		product
		
		/
	

三、后台代码

3.1 mapper&pojo

SSM整合实例--(一)项目搭建_第3张图片
mapper及pojo就不放了,是根据数据库和Mybatis逆向工程生成的。

放一下数据库的代码

CREATE DATABASE db_supermaket;

USE db_supermaket;

CREATE TABLE tb_product(
	p_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '商品id(主键)',
	p_name VARCHAR(20) NOT NULL COMMENT '商品名称',
	p_price DOUBLE NOT NULL COMMENT '商品价格'
);

INSERT INTO tb_product(p_name, p_price) VALUES ("火龙果",24.7);
INSERT INTO tb_product(p_name, p_price) VALUES ("火龙果1",24.7);
INSERT INTO tb_product(p_name, p_price) VALUES ("火龙果2",24.7);
INSERT INTO tb_product(p_name, p_price) VALUES ("火龙果3",24.7);
INSERT INTO tb_product(p_name, p_price) VALUES ("火龙果4",24.7);
INSERT INTO tb_product(p_name, p_price) VALUES ("火龙果5",24.7);
INSERT INTO tb_product(p_name, p_price) VALUES ("火龙果6",24.7);
INSERT INTO tb_product(p_name, p_price) VALUES ("火龙果7",24.7);
INSERT INTO tb_product(p_name, p_price) VALUES ("火龙果8",24.7);
INSERT INTO tb_product(p_name, p_price) VALUES ("火龙果9",24.7);
INSERT INTO tb_product(p_name, p_price) VALUES ("火龙果10",24.7);
INSERT INTO tb_product(p_name, p_price) VALUES ("火龙果11",24.7);

3.2 service层

ProductService.java

package com.cf.service;

import java.util.List;

import com.cf.pojo.TbProduct;

public interface ProductService {

	//查询product的list
	public List list();
}

ProductServiceImpl.java

package com.cf.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.cf.mapper.TbProductMapper;
import com.cf.pojo.TbProduct;
import com.cf.pojo.TbProductExample;
import com.cf.service.ProductService;

@Service
public class ProductServiceImpl implements ProductService {

	//注入mapper
	@Autowired
	private TbProductMapper mapper;
	
	@Override
	public List list() {
		//设置查询条件
		TbProductExample example = new TbProductExample();
		//查询
		return mapper.selectByExample(example);
	}

}

3.3 controller层
在这里插入图片描述

PageController.java

package com.cf.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.cf.pojo.TbProduct;
import com.cf.service.ProductService;

@Controller
public class PageController {

	@Autowired
	private ProductService productService;
	
	@RequestMapping("/")
	public String index() {
		return "index";
	}
	
	@RequestMapping("/list")
	public String list(Model model) {
		List list = productService.list();
		
		model.addAttribute("list", list);
		return "list";
	}
}

3.4 JSP页面

list.jsp

页面中的pojo属性名称和数据库的字段名称有些不一样,要注意下。

因为使用逆向工程生成pojo,数据库中的下划线被去掉了。

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




Insert title here




        
序号 商品 价格
${s.count} ${p.pName} ${p.pPrice}

四、运行项目

SSM整合实例--(一)项目搭建_第4张图片
SSM搭建OK,可以先运行。

你可能感兴趣的:(JAVA框架)