4.ssm整合
4.1.创建表
CREATE TABLE ` account` ( ` id` int ( 11 ) NOT NULL AUTO_INCREMENT , ` name` varchar ( 20 ) DEFAULT NULL , ` money` double DEFAULT NULL , PRIMARY KEY ( ` id` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
4.2.创建工程
4.3.pom.xml
<?xml version="1.0" encoding="UTF-8"?>
< project xmlns = " http://maven.apache.org/POM/4.0.0" xmlns: xsi= " http://www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation= " http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion> 4.0.0</ modelVersion> < groupId> com.by</ groupId> < artifactId> ssm</ artifactId> < version> 1.0-SNAPSHOT</ version> < packaging> war</ packaging> < properties> < spring.version> 5.1.8.RELEASE</ spring.version> < slf4j.version> 1.6.6</ slf4j.version> < log4j.version> 1.2.12</ log4j.version> < mysql.version> 5.1.47</ mysql.version> < mybatis.version> 3.4.5</ mybatis.version> < druid.version> 1.1.0</ druid.version> </ properties> < dependencies> < dependency> < groupId> org.springframework</ groupId> < artifactId> spring-context</ artifactId> < version> ${spring.version}</ version> </ dependency> < dependency> < groupId> org.springframework</ groupId> < artifactId> spring-aspects</ artifactId> < version> ${spring.version}</ version> </ dependency> < dependency> < groupId> org.springframework</ groupId> < artifactId> spring-tx</ artifactId> < version> ${spring.version}</ version> </ dependency> < dependency> < groupId> org.springframework</ groupId> < artifactId> spring-jdbc</ artifactId> < version> ${spring.version}</ version> </ dependency> < dependency> < groupId> org.springframework</ groupId> < artifactId> spring-web</ artifactId> < version> ${spring.version}</ version> </ dependency> < dependency> < groupId> org.springframework</ groupId> < artifactId> spring-webmvc</ artifactId> < version> ${spring.version}</ version> </ dependency> < dependency> < groupId> org.mybatis</ groupId> < artifactId> mybatis</ artifactId> < version> ${mybatis.version}</ version> </ dependency> < dependency> < groupId> org.mybatis</ groupId> < artifactId> mybatis-spring</ artifactId> < version> 1.3.0</ version> </ dependency> < dependency> < groupId> mysql</ groupId> < artifactId> mysql-connector-java</ artifactId> < version> ${mysql.version}</ version> </ dependency> < dependency> < groupId> com.alibaba</ groupId> < artifactId> druid</ artifactId> < version> 1.1.0</ version> </ dependency> < dependency> < groupId> javax.servlet</ groupId> < artifactId> servlet-api</ artifactId> < version> 2.5</ version> < scope> provided</ scope> </ dependency> < dependency> < groupId> javax.servlet.jsp</ groupId> < artifactId> jsp-api</ artifactId> < version> 2.0</ version> < scope> provided</ scope> </ dependency> < dependency> < groupId> jstl</ groupId> < artifactId> jstl</ artifactId> < version> 1.2</ version> </ dependency> < dependency> < groupId> org.slf4j</ groupId> < artifactId> slf4j-log4j12</ artifactId> < version> ${slf4j.version}</ version> </ dependency> </ dependencies> < build> < plugins> < plugin> < groupId> org.apache.tomcat.maven</ groupId> < artifactId> tomcat7-maven-plugin</ artifactId> < version> 2.2</ version> < configuration> < port> 8080</ port> < path> /</ path> < uriEncoding> UTF-8</ uriEncoding> </ configuration> </ plugin> < plugin> < groupId> org.apache.maven.plugins</ groupId> < artifactId> maven-compiler-plugin</ artifactId> < version> 3.2</ version> < configuration> < source> 1.8</ source> < target> 1.8</ target> < encoding> UTF-8</ encoding> </ configuration> </ plugin> </ plugins> < resources> < resource> < directory> src/main/java</ directory> < includes> < include> **/*.xml</ include> </ includes> </ resource> </ resources> </ build>
</ project>
4.4.log4j.properties
log4j.rootLogger=DEBUG,A1log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} - %c%l%m%n
4.5.db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf-8
jdbc.username=root
jdbc.password=1111
4.6.applicationContext-dao.xml
<?xml version="1.0" encoding="UTF-8"?>
< beans xmlns = " http://www.springframework.org/schema/beans" xmlns: context= " http://www.springframework.org/schema/context" xmlns: xsi= " http://www.w3.org/2001/XMLSchema-instance" xmlns: tx= " http://www.springframework.org/schema/tx" xmlns: aop= " http://www.springframework.org/schema/aop" xsi: schemaLocation= " http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/aophttps://www.springframework.org/schema/aop/spring-aop.xsd" > < context: property-placeholder location = " classpath:db.properties" /> < bean id = " dataSource" class = " com.alibaba.druid.pool.DruidDataSource" destroy-method = " close" > < property name = " url" value = " ${jdbc.url}" /> < property name = " username" value = " ${jdbc.username}" /> < property name = " password" value = " ${jdbc.password}" /> < property name = " driverClassName" value = " ${jdbc.driver}" /> < property name = " maxActive" value = " 10" /> < property name = " minIdle" value = " 5" /> </ bean> < bean id = " sqlSessionFactory" class = " org.mybatis.spring.SqlSessionFactoryBean" > < property name = " dataSource" ref = " dataSource" /> < property name = " typeAliasesPackage" value = " com.by.pojo" > </ property> </ bean> < bean class = " org.mybatis.spring.mapper.MapperScannerConfigurer" > < property name = " basePackage" value = " com.by.mapper" > </ property> < property name = " sqlSessionFactoryBeanName" value = " sqlSessionFactory" > </ property> </ bean>
</ beans>
4.7.applicationContext-tx.xml
<?xml version="1.0" encoding="UTF-8"?>
< beans xmlns = " http://www.springframework.org/schema/beans" xmlns: context= " http://www.springframework.org/schema/context" xmlns: xsi= " http://www.w3.org/2001/XMLSchema-instance" xmlns: tx= " http://www.springframework.org/schema/tx" xmlns: aop= " http://www.springframework.org/schema/aop" xsi: schemaLocation= " http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/aophttps://www.springframework.org/schema/aop/spring-aop.xsd" > < bean id = " transactionManager" class = " org.springframework.jdbc.datasource.DataSourceTransactionManager" > < property name = " dataSource" ref = " dataSource" /> </ bean> < tx: advice id = " txAdvice" transaction-manager = " transactionManager" > < tx: attributes> < tx: method name = " insert*" propagation = " REQUIRED" /> < tx: method name = " delete*" propagation = " REQUIRED" /> < tx: method name = " update*" propagation = " REQUIRED" /> < tx: method name = " select*" propagation = " SUPPORTS" read-only = " true" /> < tx: method name = " get*" propagation = " SUPPORTS" read-only = " true" /> </ tx: attributes> </ tx: advice> < aop: config> < aop: advisor advice-ref = " txAdvice" pointcut = " execution(* com.by.service.*.*(..))" /> </ aop: config>
</ beans>
4.8.applicationContext-service.xml
<?xml version="1.0" encoding="UTF-8"?>
< beans xmlns = " http://www.springframework.org/schema/beans" xmlns: context= " http://www.springframework.org/schema/context" xmlns: xsi= " http://www.w3.org/2001/XMLSchema-instance" xmlns: tx= " http://www.springframework.org/schema/tx" xmlns: aop= " http://www.springframework.org/schema/aop" xsi: schemaLocation= " http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/aophttps://www.springframework.org/schema/aop/spring-aop.xsd" > < context: component-scan base-package = " com.by.service" > </ context: component-scan>
</ beans>
4.9.springmvc.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: p= " http://www.springframework.org/schema/p" 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.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" > < context: component-scan base-package = " com.by.controller" > </ context: component-scan> < bean class = " org.springframework.web.servlet.view.InternalResourceViewResolver" > < property name = " prefix" value = " /WEB-INF/pages/" > </ property> < property name = " suffix" value = " .jsp" > </ property> </ bean>
</ beans>
4.10.web.xml
<?xml version="1.0" encoding="UTF-8"?>
< web-app xmlns = " http://xmlns.jcp.org/xml/ns/javaee" xmlns: xsi= " http://www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation= " http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version = " 4.0" > < context-param> < param-name> contextConfigLocation</ param-name> < param-value> classpath:applicationContext-*.xml</ param-value> </ context-param> < listener> < listener-class> org.springframework.web.context.ContextLoaderListener</ listener-class> </ listener> < filter> < filter-name> CharacterEncodingFilter</ 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> </ filter> < filter-mapping> < filter-name> CharacterEncodingFilter</ filter-name> < url-pattern> /*</ url-pattern> </ filter-mapping> < servlet> < servlet-name> springmvc</ servlet-name> < servlet-class> org.springframework.web.servlet.DispatcherServlet</ servlet-class> < init-param> < param-name> contextConfigLocation</ param-name> < param-value> classpath:springmvc.xml</ param-value> </ init-param> < load-on-startup> 1</ load-on-startup> </ servlet> < servlet-mapping> < servlet-name> springmvc</ servlet-name> < url-pattern> /</ url-pattern> </ servlet-mapping>
</ web-app>
4.11.pojo
public class Account { private Integer id; private String name; private Double money; public Integer getId ( ) { return id; } public void setId ( Integer id) { this . id = id; } public String getName ( ) { return name; } public void setName ( String name) { this . name = name; } public Double getMoney ( ) { return money; } public void setMoney ( Double money) { this . money = money; } @Override public String toString ( ) { return "Account{" + "id=" + id + ", name='" + name + '\'' + ", money=" + money + '}' ; }
}
4.12.mapper
public interface AccountMapper { List < Account > selectAccount ( ) ;
}
<?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 = " com.by.mapper.AccountMapper" > < select id = " selectAccount" resultType = " Account" > select * from account</ select>
</ mapper>
4.13.service
@Service
public class AccountServiceImpl implements AccountService { @Autowired private AccountMapper accountMapper; @Override public List < Account > selectAccount ( ) { return accountMapper. selectAccount ( ) ; }
}
4.14.controller
@Controller
@RequestMapping ( "/account" )
public class AccountController { @Autowired private AccountService accountService; @RequestMapping ( "/selectAccount" ) public String selectAccount ( Model model) { List < Account > list = accountService. selectAccount ( ) ; model. addAttribute ( "list" , list) ; return "select_account" ; }
}
4.15.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
< html>
< head> < title> Title</ title>
</ head>
< body>
< h2> 查询所有账户</ h2>
< table width = " 30%" border = " 1" cellspacing = " 0" cellpadding = " 0" > < tr> < th> id</ th> < th> name</ th> < th> money</ th> </ tr> < c: forEach var = " list" items = " ${list}" > < tr> < td> ${list.id}</ td> < td> ${list.name}</ td> < td> ${list.money}</ td> </ tr> </ c: forEach>
</ table>
</ body>
</ html>
4.16.测试