2018_03_14 ssm框架整合

ssm框架整合代码github地址https://github.com/liujiaxin1314/ssm_demo

ssm框架整合思路:

Dao层:

1、SqlMapConfig.xml,空文件即可。需要文件头。

2、applicationContext-dao.xml。

a)数据库连接池

b)SqlSessionFactory对象,需要spring和mybatis整合包下的。

c)配置mapper文件扫描器。

Service层:

1、applicationContext-service.xml包扫描器,扫描@service注解的类。

2、applicationContext-trans.xml配置事务。

表现层:

Springmvc.xml

1、包扫描器,扫描@Controller注解的类。

2、配置注解驱动。

3、视图解析器

Web.xml

配置前端控制器。

工程目录如下:

2018_03_14 ssm框架整合_第1张图片

ssm整合所需31个jar包

2018_03_14 ssm框架整合_第2张图片2018_03_14 ssm框架整合_第3张图片2018_03_14 ssm框架整合_第4张图片

1.sqlMapConfig.xml




2.applicationContext-dao.xml




	
	
	
	
		
		
		
		
		
		
	
	
	
	
		
		
		
		
	
	
	
		
	

3.db.properties

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

4.applicationContext-service.xml




	
	

5.applicationContext-transaction.xml



	
	
		
		
	
	
	
		
			
			
			
			
			
			
			
		
	
	
	
		
	

6. springmvc.xml



        
	
	
	
	
	
		
			
				
			
		
	
	
	
		
		
	

7.web.xml



  ssm_demo
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  
  
  
		contextConfigLocation
		classpath:spring/applicationContext-*.xml
	
	
		org.springframework.web.context.ContextLoaderListener
	
  
  
  	springmvc
  	org.springframework.web.servlet.DispatcherServlet
  	
  		
  		contextConfigLocation
  		classpath:spring/springmvc.xml
  	
  
  
  	springmvc
  	*.action
  
  
  
		CharacterEncodingFilter
		org.springframework.web.filter.CharacterEncodingFilter
		
			encoding
			utf-8
		
	
	
		CharacterEncodingFilter
		/*
	

Dao

使用mybatis逆向生成:http://blog.csdn.net/liujiaxin_lei/article/details/79551287

Service

接口

package com.jxliu.ssm.service;

import java.util.List;

import com.jxliu.ssm.pojo.Items;
import com.jxliu.ssm.pojo.QueryVo;
public interface ItemService {
	List getItemList();
	Items getItemById(int id);
	void updateItem(Items items);
	List getItemLists(QueryVo queryVo);
}

实现类

package com.jxliu.ssm.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jxliu.ssm.mapper.ItemsMapper;
import com.jxliu.ssm.pojo.Items;
import com.jxliu.ssm.pojo.ItemsExample;
import com.jxliu.ssm.pojo.QueryVo;
import com.jxliu.ssm.pojo.ItemsExample.Criteria;
import com.jxliu.ssm.service.ItemService;

/**
 * 商品管理Service
 */
@Service
public class ItemServiceImpl implements ItemService {
	@Autowired
	private ItemsMapper itemsMapper;
	@Override
	public List getItemList() {
		ItemsExample example = new ItemsExample();
		List list = itemsMapper.selectByExampleWithBLOBs(example);
		return list;
	}

	@Override
	public Items getItemById(int id) {
		//根据商品id查询商品信息
		Items items = itemsMapper.selectByPrimaryKey(id);
		return items;
	}

	@Override
	public void updateItem(Items items) {
		itemsMapper.updateByPrimaryKeySelective(items);
	}

	@Override
	public List getItemLists(QueryVo queryVo) {
		ItemsExample example = new ItemsExample();
		Criteria criteria = example.createCriteria();
		Integer id = queryVo.getItems().getId();
		String name = queryVo.getItems().getName();
		if(id!=null&&!id.equals("")){
			criteria.andIdEqualTo(id);
		}
		if(name!=null&&!name.equals("")){
			criteria.andNameLike("%"+name+"%");
		}
		List list = itemsMapper.selectByExample(example);
		for (Items items : list) {
			System.out.println(items.getId()+"==="+items.getName());
		}
		return list;
	}

}

Controller

package com.jxliu.ssm.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 org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import com.jxliu.ssm.pojo.Items;
import com.jxliu.ssm.pojo.QueryVo;
import com.jxliu.ssm.service.ItemService;
/**
 * 商品处理Controller
 */
@Controller
public class ItemController {
	@Autowired
	private ItemService itemService;
	
	/**
	 * 使用自动生成mapper查询商品列表
	 * @return
	 */
	@RequestMapping("/itemList")
	public ModelAndView getItemList() {
		//查询商品列表
		List itemList = itemService.getItemList();
		//把结果传递给页面
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.addObject("itemList", itemList);
		//设置逻辑视图
		modelAndView.setViewName("itemList");
		//返回结果
		return modelAndView;
	}
	
	/**
	 * 修改功能的中转,即点击修改按钮后,应该获取该商品信息存入model中,并跳转到修改页面
	 * RequestParam注解用于处理简单数据类型的绑定,defaultValue是默认值,required设置为true,默认也是true,表示请求中一定要有相应的参数,否则
	 * 会报400错误,value是与页面中传入的参数名字相同
	 * @param id
	 * @param model
	 * @return
	 */
	@RequestMapping("/itemEdit")
	public String getItemById(@RequestParam(defaultValue="1",required=true,value="id")Integer id,Model model){
		Items items = itemService.getItemById(id);
		model.addAttribute("item", items);
		//把结果传递给页面
		return "editItem";
	}
	
	/**
	 * 商品修改的方法
	 * @param items
	 * @return
	 */
	@RequestMapping("/updateitem")
	public String updateItem(Items items){
		//把结果传递给页面
		itemService.updateItem(items);
		return "redirect:/itemList.action";
	}
	
	/**
	 * 查询商品的方法
	 * @param queryVo
	 * @return
	 */
	@RequestMapping("/queryitem")
	public String queryItem(QueryVo queryVo,Model model){
		List itemLists = itemService.getItemLists(queryVo);
		model.addAttribute("itemList", itemLists);
		return "itemList";
	}
}

测试地址:http://localhost:8080/ssm_demo/itemList.action







你可能感兴趣的:(日常积累)