springMVC和mybatis的框架搭建
1 .pom.xml引入spring和mybatis的jar包
2.spring的mvc.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
<!-- 使用Annotation自动注册Bean,只扫描@Controller -->
<context:component-scan base-package="qianliyan.controller" use-default-filters="false"><!-- base-package 如果多个,用“,”分隔 -->
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<mvc:annotation-driven />
<mvc:resources mapping="/static/**" location="/static/" cache-period="31536000"/>
<!-- 视图解析器
解析jsp解析,默认使用jstl标签,classpath下的得有jstl的包
-->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 配置jsp路径的前缀 -->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!-- 配置jsp路径的后缀 -->
<property name="suffix" value=".jsp"/>
</bean>
</beans>
3. 配一下spring和mybatis整合文件applicationContext-dao.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
<!-- 引入配置文件 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:iluxday.properties" />
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 连接池最大数量 -->
<property name="maxActive" value="30"></property>
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="5"></property>
</bean>
<!--spring与mybatis整合-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描mapping.xml文件 -->
<!--
<property name="mapperLocations" value="classpath:com/ssm/mapping/*.xml"></property>
-->
<!-- 全局配置 -->
<!-- 若不保留mybatis配置文件用上面那条替换这一条 -->
<property name="configLocation" value="classpath:sqlMapConfig.xml"/>
</bean>
<!-- DAO接口所在包名,Spring会自动查找其下的类 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 扫描包路径,需要扫描多个包中间用逗号隔开 -->
<property name="basePackage" value="qianliyan.dao" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean>
<context:component-scan base-package="qianliyan.service.impl"/>
</beans>
4再配置mybatis的配置文件sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<mappers>
<!-- 注册userMapper.xml文件 -->
<mapper resource="qianliyan/mapping/ProductSaleTopMapper.xml"/>
</mappers>
</configuration>
5.web.xml文件中配置spring和springmvc的容器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>Archetype Created Web Application</display-name>
<!-- Context ConfigLocation -->
<!-- Spring容器和mybatis的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/applicationContext-*.xml</param-value>
</context-param>
<!-- Spring监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 防止Spring内存溢出监听器 -->
<!-- MVC servlet -->
<servlet>
<servlet-name>springServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/spring-mvc*.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
6. 创建pojo类
package qianliyan.pojo;
public class ProductSaleTopModel {
private Integer productItemID;
private String ordersDate;
private Integer quanlity;
public Integer getProductItemID() {
return productItemID;
}
public void setProductItemID(Integer productItemID) {
this.productItemID = productItemID;
}
public String getOrdersDate() {
return ordersDate;
}
public void setOrdersDate(String ordersDate) {
this.ordersDate = ordersDate;
}
public Integer getQuanlity() {
return quanlity;
}
public void setQuanlity(Integer quanlity) {
this.quanlity = quanlity;
}
}
7。创建mapper.xml和Dao接口
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="qianliyan.dao.ProductSaleTopDao" >
<resultMap id="productSaleTopMap" type="qianliyan.pojo.ProductSaleTopModel">
<result column="ProductItemID" property="productItemID" jdbcType="INTEGER"/>
<result column="OrdersDate" property="ordersDate" jdbcType="VARCHAR"/>
<result column="Quantity" property="quanlity" jdbcType="INTEGER"/>
</resultMap>
<!-- 查询所有 -->
<select id="getAll" resultMap="productSaleTopMap">
select * from SaleProductTOP
</select>
</mapper>
package qianliyan.dao;
import java.util.List;
import qianliyan.pojo.*;
public interface ProductSaleTopDao {
public List<ProductSaleTopModel> getAll();
}
8。创建UserService 和UserServiceImp
package qianliyan.service;
import java.util.List;
import qianliyan.pojo.ProductSaleTopModel;
public interface ProductSaleTopService {
public List<ProductSaleTopModel> getAll();
}
package qianliyan.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import qianliyan.dao.ProductSaleTopDao;
import qianliyan.pojo.ProductSaleTopModel;
import qianliyan.service.ProductSaleTopService;
@Service("productSaleTopService")
public class ProductSaleTopServiceImpl implements ProductSaleTopService{
@Autowired
private ProductSaleTopDao productSaleTopDao;
@Override
public List<ProductSaleTopModel> getAll() {
// TODO Auto-generated method stub
return productSaleTopDao.getAll();
}
}
9。创建控制层Controller.java
package qianliyan.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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 qianliyan.pojo.ProductSaleTopModel;
import qianliyan.service.ProductSaleTopService;
@Controller
public class ProductSaleTop {
@Autowired
private ProductSaleTopService productSaleTopService;
@RequestMapping(value="/demo")
public String index(HttpServletRequest request, HttpServletResponse response, Model model){
System.out.println("Hello world!");
List<ProductSaleTopModel> list= productSaleTopService.getAll();
for(ProductSaleTopModel product : list)
{
System.out.println(product.getProductItemID()+":"+product.getQuanlity());
}
return "ProductSale";
}
}