SSM最简单框架搭建

来源:互联网 发布:手绘图片软件手机软件 编辑:程序博客网 时间:2024/04/28 19:56

需要的包:

spring核心jar包

spring-jdbc-3.2.16.RELEASE.jar

mysql-connector-java-5.1.26-bin.jar

mybatis-3.1.1.jar

mybatis-spring-1.2.3.jar

-----------------------------------------------------

目录结构


-----------------------------------------------------

数据库


-----------------------------------------------------

持久化类

package com.bean;import org.apache.ibatis.session.SqlSession;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import org.springframework.stereotype.Repository;@Repositorypublic class Card {private int id;private String code;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getCode() {return code;}public void setCode(String code) {this.code = code;}@Overridepublic String toString() {return "Card [id=" + id + ", code=" + code + "]";}}
-----------------------------------------------------

dao

package com.dao;import com.bean.Card;public interface CardDao {    int insert(Card record);  }
-----------------------------------------------------

CardMapper.xml文件 在com.mapping包下

<?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.dao.CardDao" >  <insert id="insert" parameterType="com.bean.Card" >    insert into card (id, code)    values (#{id}, #{code})  </insert></mapper>
-----------------------------------------------------
mybatis.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><mapper resource="com/mapping/CardMapper.xml"/></mappers></configuration>
-----------------------------------------------------
applicationContext.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"xsi:schemaLocation="http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans.xsd     http://www.springframework.org/schema/aop     http://www.springframework.org/schema/aop/spring-aop.xsd     http://www.springframework.org/schema/context     http://www.springframework.org/schema/context/spring-context.xsd     http://www.springframework.org/schema/tx     http://www.springframework.org/schema/tx/spring-tx.xsd     http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd"><context:component-scan base-package="com.daoImpl"></context:component-scan><bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://localhost:3306/mybatistest?Unicode=true&characterEncoding=UTF-8"></property><property name="username" value="root"></property><property name="password" value=""></property></bean><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="dataSource" ref="dataSource"></property>        <property name="configLocation" value="classpath:mybatis.xml"></property>    </bean>    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">        <constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg>    </bean></beans>
-----------------------------------------------------
daoImpl

package com.daoImpl;import org.apache.ibatis.session.SqlSession;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.bean.Card;import com.dao.CardDao;@Servicepublic class CardDaoImpl implements CardDao {@Autowiredprivate SqlSession sqlSession;@Overridepublic int insert(Card record) {int i=sqlSession.update("com.dao.CardDao.insert", record);return i;}}
-----------------------------------------------------
controller

package com.controller;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.bean.Card;import com.daoImpl.CardDaoImpl;@Controllerpublic class First {@Autowiredprivate CardDaoImpl cardDaoImpl;@RequestMapping("/login")public String login(String id,String code,HttpServletRequest request){//System.out.println(id+":"+code);cardDaoImpl.insert(record);request.setAttribute("CARD", record);return "success";}}
-----------------------------------------------------

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: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.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">                     <context:component-scan base-package="com.controller"/>     <mvc:default-servlet-handler />     <mvc:annotation-driven />         <!-- 定位返回页面 -->    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"            id="internalResourceViewResolver">        <property name="prefix" value="/WEB-INF/" />        <property name="suffix" value=".jsp" />    </bean></beans>
-----------------------------------------------------
web.xml
<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">  <display-name>SSMDemo</display-name>  <listener>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>  <context-param>    <param-name>contextConfigLocation</param-name>    <param-value>classpath:applicationContext.xml</param-value>  </context-param><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>

-----------------------------------------------------

index.jsp
  <body>    <form action="login">    id:<input type="text" name="id"><br>    code:<input type="text" name="code"><br>    组成card<input type="submit" value="确定">    </form>  </body>
-----------------------------------------------------

WEB-INF/success.jsp

  <body>    ${CARD.id }    ${CARD.code }  </body>
-----------------------------------------------------
邮箱:${123456789+491299984}@qq.com


这种方式是注入sqlSession到daoImpl中,其实有点蠢麻烦。 
可以直接在applicationContext.xml文件中对dao接口进行注入,然后该接口的方法就可以直接使用了

<bean  class="org.mybatis.spring.mapper.MapperScannerConfigurer">    <property name="basePackage" value="com.dao"></property>    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>    </bean>
@Servicepublic class CardService{@Autowiredprivate CardDao cardDao;public void insert(int a) {cardDao.insert(a);}}
@Controllerpublic class First {@Autowiredprivate CardService cardService;@RequestMapping("/login")public String login(String id,String code,HttpServletRequest request){cardService.insert(record);request.setAttribute("CARD", record);return "success";}}