SSM框架整合(ssm框架整合的基本原理)

  本篇文章为你整理了SSM框架整合(ssm框架整合的基本原理)的详细内容,包含有ssm框架整合实验报告 ssm框架整合的基本原理 ssm框架整合的增删改查 ssm框架整合配置文件 SSM框架整合,希望能帮助你了解 SSM框架整合。

  `bookID` INT NOT NULL AUTO_INCREMENT COMMENT 书id,

  `bookName` VARCHAR(100) NOT NULL COMMENT 书名,

  `bookCounts` INT NOT NULL COMMENT 数量,

  `detail` VARCHAR(200) NOT NULL COMMENT 描述,

  KEY `bookID`(`bookID`)

  )ENGINE=INNODB DEFAULT CHARSET=utf8;

  INSERT INTO `books`(`bookID`,`bookName`,`bookCounts`,`detail`)VALUES

  (1,Java,1,从入门到放弃),

  (2,MySQL,10,从删库到跑路),

  (3,Linux,5,从进门到进牢)`books`

 

 

  二、建立Maven项目

  1.导包

  首先我们来分析需要用到哪些包

  (1)数据库相关:数据库驱动、数据库连接池

  (2)servlet和jsp相关:servlet、jsp、jstl

  (3)MyBatis相关:mybais、mybatis-spring

  (4)Spring相关:spring-webmvc、spring-jdbc

  (5)单元测试:junit

  下面是需要导入的依赖:

  

 dependencies 

 

   !--数据库驱动--

   dependency

   groupId mysql /groupId

   artifactId mysql-connector-java /artifactId

   version 8.0.30 /version

   /dependency

   !--数据库连接池:c3p0--

   dependency

   groupId com.mchange /groupId

   artifactId c3p0 /artifactId

   version 0.9.5.5 /version

   /dependency

   !--servlet和jsp相关--

   dependency

   groupId javax.servlet /groupId

   artifactId javax.servlet-api /artifactId

   version 4.0.1 /version

   scope provided /scope

   /dependency

   dependency

   groupId javax.servlet.jsp /groupId

   artifactId jsp-api /artifactId

   version 2.2 /version

   scope provided /scope

   /dependency

   dependency

   groupId javax.servlet.jsp.jstl /groupId

   artifactId jstl-api /artifactId

   version 1.2 /version

   /dependency

   !--MyBatis相关--

   dependency

   groupId org.mybatis /groupId

   artifactId mybatis /artifactId

   version 3.5.11 /version

   /dependency

   dependency

   groupId org.mybatis /groupId

   artifactId mybatis-spring /artifactId

   version 2.0.7 /version

   /dependency

   !--Spring相关--

   dependency

   groupId org.springframework /groupId

   artifactId spring-webmvc /artifactId

   version 5.3.23 /version

   /dependency

   dependency

   groupId org.springframework /groupId

   artifactId spring-jdbc /artifactId

   version 5.3.23 /version

   /dependency

   !--单元测试junit--

   dependency

   groupId junit /groupId

   artifactId junit /artifactId

   version 4.13.2 /version

   scope test /scope

   /dependency

   /dependencies

 

  初始需要的包就这么多,后面有相应需求我们再加入。

  2.配置静态资源导出

  还是maven项目地pom.xml的配置

  

 !--配置静态资源导出-- 

 

   build

   resources

   resource

   directory src/main/resources /directory

   includes

   include **/*.properties /include

   include **/*.xml /include

   /includes

   filtering true /filtering

   /resource

   resource

   directory src/main/java /directory

   includes

   include **/*.properties /include

   include **/*.xml /include

   /includes

   filtering true /filtering

   /resource

   /resources

   /build

 

  三、配置MyBatis层

  1.建立数据库连接的资源文件

  db.properties:

  

driver=com.mysql.jdbc.Driver

 

  url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=true useUnicode=true characterEncoding=UTF-8

  user=root

  password=123456

 

  2.建立Mybatis的配置文件mybatis-config.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

   typeAliases

   package name="com.jms.pojo"/

   /typeAliases

   /configuration

 

  3.建立实体类

  Books:

  

package com.jms.pojo;

 

  public class Books {

   private int bookID;

   private String bookName;

   private int bookCounts;

   private String detail;

   public Books() {

   public Books(int bookID, String bookName, int bookCounts, String detail) {

   this.bookID = bookID;

   this.bookName = bookName;

   this.bookCounts = bookCounts;

   this.detail = detail;

   public int getBookID() {

   return bookID;

   public void setBookID(int bookID) {

   this.bookID = bookID;

   public String getBookName() {

   return bookName;

   public void setBookName(String bookName) {

   this.bookName = bookName;

   public int getBookCounts() {

   return bookCounts;

   public void setBookCounts(int bookCounts) {

   this.bookCounts = bookCounts;

   public String getDetail() {

   return detail;

   public void setDetail(String detail) {

   this.detail = detail;

   @Override

   public String toString() {

   return "Books{" +

   "bookID=" + bookID +

   ", bookName=" + bookName + \ +

   ", bookCounts=" + bookCounts +

   ", detail=" + detail + \ +

   };

  }

 

  4.建立MApper接口

  BookMapper:

  

package com.jms.dao;

 

  import com.jms.pojo.Books;

  import java.util.List;

  public interface BookMapper {

   int insertBook(Books books);

   List Books queryAllBook();

   Books queryBookByID(int bookID);

   int deleteBookByID(int bookID);

   int UpdateBook(Books books);

  }

 

  5.建立Mapper.xml配置文件

  BookMapper.xml:

  

 ?xml version="1.0" encoding="UTF-8" ? 

 

   !DOCTYPE mapper

   PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

   "http://mybatis.org/dtd/mybatis-3-mapper.dtd"

   mapper namespace="com.jms.dao.BookMapper"

   insert id="insertBook" parameterType="books"

   insert into ssmbuild.books

   values (#{bookID},#{bookName},#{bookCounts},#{detail})

   /insert

   select id="queryAllBook" resultType="books"

   select * from ssmbuild.books

   /select

   select id="queryBookByID" parameterType="_int" resultType="books"

   select * from ssmbuild.books where bookID=#{bookID}

   /select

   delete id="deleteBookByID" parameterType="_int"

   delete from ssmbuild.books where bookID=#{bookID}

   /delete

   update id="UpdateBook" parameterType="books"

   update ssmbuild.books

   set bookName=#{bookName},bookCounts=#{bookCounts},detail=#{detail}

   where bookID=#{bookID}

   /update

   /mapper

 

  7.建立Service接口

  BookService:

  

package com.jms.service;

 

  import com.jms.pojo.Books;

  import java.util.List;

  public interface BookService {

   int insertBook(Books books);

   List Books queryAllBook();

   Books queryBookByID(int bookID);

   int deleteBookByID(int bookID);

   int UpdateBook(Books books);

  }

 

  8.建立Service实现类

  BookServiceImpl:

  

package com.jms.service;

 

  import com.jms.dao.BookMapper;

  import com.jms.pojo.Books;

  import java.util.List;

  public class BookServiceImpl implements BookService{

   private BookMapper bookMapper;

   public void setBookMapper(BookMapper bookMapper) {

   this.bookMapper = bookMapper;

   @Override

   public int insertBook(Books books) {

   return bookMapper.insertBook(books);

   @Override

   public List Books queryAllBook() {

   return bookMapper.queryAllBook();

   @Override

   public Books queryBookByID(int bookID) {

   return bookMapper.queryBookByID(bookID);

   @Override

   public int deleteBookByID(int bookID) {

   return bookMapper.deleteBookByID(bookID);

   @Override

   public int UpdateBook(Books books) {

   return bookMapper.UpdateBook(books);

  }

 

  四、配置Spring层

  首先我们建立三个Spring配置文件,分别为applicationContext.xml、spring-dao.xml、spring-service.xml。

  1.配置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"

   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"

   import resource="classpath:spring-dao.xml"/

   import resource="classpath:spring-service.xml"/

   /beans

 

  2.配置spring-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"

   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.xsd"

   context:component-scan base-package="com.jms.dao"/

   !--1.关联数据库配置文件--

   context:property-placeholder location="classpath:db.properties"/

   !--2.数据源和连接池--

   bean id="dataSource"

   property name="driverClass" value="${driver}"/

   property name="jdbcUrl" value="${url}"/

   property name="user" value="${user}"/

   property name="password" value="${password}"/

   !--c3p0连接池的一些私有属性--

   !--最大最小连接数--

   property name="maxPoolSize" value="30"/

   property name="minPoolSize" value="10"/

   !--关闭连接后不自动commit--

   property name="autoCommitOnClose" value="false"/

   !--获取连接超时的时间10s--

   property name="checkoutTimeout" value="10000"/

   !--获取连接失败重试的次数--

   property name="acquireRetryAttempts" value="2"/

   /bean

   !--3.SqlSessionFactor--

   bean id="sqlSessionFactory"

   property name="dataSource" ref="dataSource" /

   !--绑定MyBatis配置文件--

   property name="configLocation" value="classpath:mybatis-config.xml"/

   property name="mapperLocations" value="classpath:com/jms/dao/*.xml"/

   /bean

   !--4.配置Mapper接口扫描包,动态实现了Mapper接口的注入--

   bean

   property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/

   property name="basePackage" value="com.jms.dao"/

   /bean

   /beans

 

  这里有几个需要注意的点:

  (1)存放数据库连接信息的资源文件里username要改成user,否则会报错。(原因好像是跟系统资源里的username冲突了)

  (2)这里的第4步是通过扫描包的方式实现Mapper接口的自动注入,有

  

 property name="sqlSessionFactoryBeanName" value=""/ 
 property name="sqlSessionTemplateBeanName" value=""/ 

 

  两种使用方法。

  当然,如果不想用自动注入,可以通过手动的方式进行实现,也就是写一个实现类,然后将实现类注入到容器中,具体操作见Spring学习中Spring和Mybatis整合的两种方式。

  3.配置spring-service.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"

   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.xsd"

   context:component-scan base-package="com.jms.service" /

   !--配置声明式事务管理--

   bean id="transactionManager"

   property name="dataSource" ref="dataSource"/

   /bean

   /beans

 

  4.为Service实现类添加注解

  

@Service

 

  public class BookServiceImpl implements BookService{

   private BookMapper bookMapper;

   @Autowired

   public void setBookMapper(BookMapper bookMapper) {

   this.bookMapper = bookMapper;

  }

 

  五、配置SpringMVC层

  1.配置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"

   !--配置前端控制器--

   servlet

   servlet-name DispatcherServlet /servlet-name

   servlet-class org.springframework.web.servlet.DispatcherServlet /servlet-class

   init-param

   param-name contextConfigLocation /param-name

   param-value classpath:applicationContext.xml /param-value

   /init-param

   load-on-startup 1 /load-on-startup

   /servlet

   servlet-mapping

   servlet-name DispatcherServlet /servlet-name

   url-pattern / /url-pattern

   /servlet-mapping

   !--配置乱码过滤--

   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

   !--配置session--

   session-config

   session-timeout 15 /session-timeout

   /session-config

   /web-app

 

  1.建立一个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:mvc="http://www.springframework.org/schema/mvc"

   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/mvc

   http://www.springframework.org/schema/mvc/spring-mvc.xsd

   http://www.springframework.org/schema/context

   http://www.springframework.org/schema/context/spring-context.xsd"

   !--注解驱动--

   mvc:annotation-driven/

   !--静态资源过滤--

   mvc:default-servlet-handler/

   !--扫描包--

   context:component-scan base-package="com.jms.controller"/

   !--视图解析器--

   bean

   property name="prefix" value="/WEB-INF/jsp/"/

   property name="suffix" value=".jsp"/

   /bean

   /beans

 

  3.在applicationContext中引入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"

   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"

   import resource="classpath:spring-dao.xml"/

   import resource="classpath:spring-service.xml"/

   import resource="classpath:spring-mvc.xml"/

   /beans

 

  至此,SSM三层整合完毕。

  

  (本文仅作个人学习记录用,如有纰漏敬请指正)

  以上就是SSM框架整合(ssm框架整合的基本原理)的详细内容,想要了解更多 SSM框架整合的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: