【从零开始学SpringMVC笔记】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配置事务。

Controller层:
1、Springmvc.xml
a) 包扫描器,扫描@Controller注解的类。
b) 配置注解驱动
c) 配置视图解析器

Web.xml文件:
1、配置spring
2、配置前端控制器。

创建数据库

/*
Navicat MySQL Data Transfer

Source Server         : localhost_3306
Source Server Version : 50611
Source Host           : localhost:3306
Source Database       : springmvc

Target Server Type    : MYSQL
Target Server Version : 50611
File Encoding         : 65001

Date: 2016-05-09 19:45:13
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for items
-- ----------------------------
DROP TABLE IF EXISTS `items`;
CREATE TABLE `items` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) NOT NULL COMMENT '商品名称',
  `price` float(10,1) NOT NULL COMMENT '商品定价',
  `detail` text COMMENT '商品描述',
  `pic` varchar(64) DEFAULT NULL COMMENT '商品图片',
  `createtime` datetime NOT NULL COMMENT '生产日期',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of items
-- ----------------------------
INSERT INTO `items` VALUES ('1', '台式机', '3000.0', '该电脑质量非常好!!!!', null, '2016-02-03 13:22:53');
INSERT INTO `items` VALUES ('2', '笔记本', '6000.0', '笔记本性能好,质量好!!!!!', null, '2015-02-09 13:22:57');
INSERT INTO `items` VALUES ('3', '背包', '200.0', '名牌背包,容量大质量好!!!!', null, '2015-02-06 13:23:02');

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(32) NOT NULL COMMENT '用户名称',
  `birthday` date DEFAULT NULL COMMENT '生日',
  `sex` char(1) DEFAULT NULL COMMENT '性别',
  `address` varchar(256) DEFAULT NULL COMMENT '地址',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', '王五', null, '2', null);
INSERT INTO `user` VALUES ('10', '张三', '2014-07-10', '1', '北京市');
INSERT INTO `user` VALUES ('16', '张小明', null, '1', '河南郑州');
INSERT INTO `user` VALUES ('22', '陈小明', null, '1', '河南郑州');
INSERT INTO `user` VALUES ('24', '张三丰', null, '1', '河南郑州');
INSERT INTO `user` VALUES ('25', '陈小明', null, '1', '河南郑州');
INSERT INTO `user` VALUES ('26', '王五', null, null, null);

【从零开始学SpringMVC笔记】SSM框架整合_第1张图片

逆向工程生成dao和pojo

如何使用逆向工程参考【从零开始学Mybatis笔记】-逆向工程相关博客

【从零开始学SpringMVC笔记】SSM框架整合_第2张图片

配置环境

创建资源文件夹config
在其下创建mybatis和spring文件夹,用来存放配置文件,如下图:

sqlMapConfig.xml

使用逆向工程来生成Mapper相关代码
在config/mybatis下创建sqlMapConfig.xml




	
	
		
		
	
	
	


applicationContext.xml




	
	

	
	
		
		
		
		
		
		
	

	
	
		
		
		
		
	



	
	
		
		
	
	
	
	
		
		
	
	
	
	



db.properties

配置数据库相关信息

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

springmvc.xml





	
	
	
	
	

	
	
	
		
		
		
		
	


web.xml



  springmvcday01
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  
  
  	
	
		contextConfigLocation
		classpath:spring/applicationContext*.xml
	

	
	
		org.springframework.web.context.ContextLoaderListener
	

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

	
		springmvc-web
		
		*.action
	



加入jsp页面

复制之前资料的itemList.jsp和itemEdit.jsp到工程中

【从零开始学SpringMVC笔记】SSM框架整合_第3张图片

此处报错是编译器原因,表头报错,并不影响运行结果

测试:实现商品列表显示

需求
实现商品查询列表,从mysql数据库查询商品信息。

ItemService接口和实现类

public interface ItemsService {
	
	
		/**
		 * 查询商品列表
		 * 
		 * @return
		 */
		List queryItemList();
}

@Service
public class ItemsServiceImpl implements ItemsService {

	@Autowired
	private ItemsMapper itemsMapper;

	@Override
	public List queryItemList() {

		List list = this.itemsMapper.selectByExample(null);

		return list;

	}

}

ItemController

@Controller
public class ItemController {

	@Autowired
	private ItemsService itemsService;

	/**
	 * 显示商品列表
	 * 
	 * @return
	 */
	@RequestMapping("/itemList.action")
	public ModelAndView queryItemList() {
		// 获取商品数据
		List list = this.itemsService.queryItemList();

		ModelAndView modelAndView = new ModelAndView();
		// 把商品数据放到模型中
		modelAndView.addObject("itemList", list);
		// 设置逻辑视图
		modelAndView.setViewName("itemList");

		return modelAndView;
	}

}

结果

访问url:http://localhost:8080/springmvc-mybatis/itemList.action

你可能感兴趣的:(【从零开始学SpringMVC笔记】SSM框架整合)