當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
基于Maven+SpringMVC+Spring+MyBatis+Layui整合框架,超详细的SSM整合❤️
生活随笔
收集整理的這篇文章主要介紹了
基于Maven+SpringMVC+Spring+MyBatis+Layui整合框架,超详细的SSM整合❤️
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
人生有太多不如意,我們要學會去努力
參考文檔:layUI文檔;spring家族文檔;mybatis文檔
前言:SSM 整合
整合的思路是:
先創建spring框架
通過spring整合spring mvc
通過spring整合mybatis
ssm整合流程圖
1、創建maven工程模塊
此圖內容為需要配置的目錄
2、導入配置文件
導入:springmvc.xml,spring.xml; 其中log4j.properties,jdbc.properties等配置文件根據需求導入!
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/xxx?characterEncoding=utf8 jdbc.username=root jdbc.password=xxx log4j.rootLogger=DEBUG,Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n log4j.logger.org.apache=INFO3、在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.qf</groupId><artifactId>springmvc-demo4-ssm</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><properties><spring.version>5.0.2.RELEASE</spring.version><slf4j.version>1.6.6</slf4j.version><log4j.version>1.2.12</log4j.version><mysql.version>5.1.6</mysql.version><mybatis.version>3.4.5</mybatis.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding></properties><!--依賴jar包--><dependencies><!-- spring --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.6.8</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><!--把這個包導入相當于把spring中所有需要的包都導入了--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency><!--spring 事務管理--><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency><!--jdbc 連接池--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><!--測試包--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>compile</scope></dependency><!--數據庫連接池依賴--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><!--jsp--><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency><!--jsp標準標簽庫--><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- log start --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><!--日志--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><!--日志--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency><!-- log end --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><!--spring整合mybatis適配包--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.0</version></dependency><!--數據庫---連接池--><dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version><type>jar</type><scope>compile</scope></dependency><!--用于JSON數據轉換 三個版本一致--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.6</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.9.6</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.9.6</version></dependency><!--分頁助手依賴--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.10</version></dependency><!--日志依賴--><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version></dependency><!--可以使指定類使用@Slf4j日志注解,直接拿log對象調用方法↓--><!--可以作實體類的get set方法--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>18081</port><path>/</path></configuration></plugin></plugins></build><!--UserMapper.xml放在接口下要加上下面這句話才行--><!--<build>--><!--<resources>--><!--<resource>--><!--<directory>src/main/java</directory>--><!--<includes>--><!--<include>**/*.xml</include>--><!--</includes>--><!--</resource>--><!--</resources>--><!--</build>--> </project>4、創建數據庫
/* SQLyog Ultimate v12.4.3 (64 bit) MySQL - 5.7.14-log : Database - student ********************************************************************* *//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/`student` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `student`;/*Table structure for table `account` */DROP TABLE IF EXISTS `account`;CREATE TABLE `account` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) DEFAULT NULL,`money` double DEFAULT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8;/*Data for the table `account` */insert into `account`(`id`,`name`,`money`) values (3,'小舞',34545), (10,'修羅',34545), (12,'文若',23546), (13,'鄒神佛',45645), (16,'鮑勃',23453), (17,'卡耐基',34545), (18,'奧格',45654), (19,'蘇菲',23456), (20,'Jowett',34653), (21,'卓沃',23544), (22,'繞佛為',23445), (23,'曉燕',23543), (24,'小艷',34645), (25,'史丹佛',43356), (26,'士大夫',23445), (27,'林肯',34534), (28,'瑞文S',23535);5、創建bean
如果公司允許可以使用生成lombok自動get,set
package com.qf.bean;public class Account {private Integer id;private String name;private Double money;public Account() {}public Account(Integer id, String name, Double money) {this.id = id;this.name = name;this.money = 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;}@Overridepublic String toString() {return "Account{" +"id=" + id +", name='" + name + '\'' +", money=" + money +'}';} }利用反向生成,從前端寫到數據庫符合人腦思維
6、創建controller
點擊查看以下注解詳情
@Controller @RequestMapping("/account") public class AccountController {@Autowiredprivate AccountService accountService;@RequestMapping("/find2")@ResponseBodypublic TableData find(Integer page,Integer limit){PageInfo<Account> pageInfo = accountService.findAccounts(page,limit);TableData tableData = new TableData("no data", 0, pageInfo.getList(),pageInfo.getTotal());return tableData;} }7、創建service
//service接口 public interface AccountService {PageInfo<Account> findAccounts(Integer page, Integer limit); @Service //實現service接口 public class AccountServiceImpl implements AccountService {@Autowiredprivate AccountMapper accountMapper;@Override//分頁查詢跟查詢全部public PageInfo<Account> findAccounts(Integer page, Integer limit) {PageHelper.startPage(page,limit);List<Account> accounts = accountMapper.findAccounts();return new PageInfo<Account>(accounts);}8、創建mapper
@Component //創建mapper接口 public interface AccountMapper {List<Account> findAccounts();mapper映射文件,文件命名必須跟mapper接口相同,如果跟接口放在一起則在pom.xml中最后加上build
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.qf.mapper.AccountMapper"><select id="findAccounts" resultType="Account">select * from account</select></mapper>9、配置web.xml
在WEB-INF中配置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_3_1.xsd"version="3.1"><!--前端控制器--><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:springmvc.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></web-app>10、配置spring.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:tx="http://www.springframework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop"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 http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"><!-- 配置的連接池對象 value位置可以配置文件引入--><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="com.mysql.jdbc.Driver"/><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/student"/><property name="user" value="root"/><property name="password" value="xxx"/></bean><!-- 配置SqlSession的工廠 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><!--別名--><property name="typeAliasesPackage" value="com.qf.bean"></property><!--分頁助手插件配置攔截↓--><property name="plugins"><bean class="com.github.pagehelper.PageInterceptor"></bean></property></bean><!-- 配置掃描dao的包 --><bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.qf.mapper"/></bean><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><!--事務控制--><tx:advice id="tx" transaction-manager="transactionManager"><tx:attributes><tx:method name="list" read-only="true"/><tx:method name="addAccount"/></tx:attributes></tx:advice><!--前置增強--><aop:config><aop:advisor pointcut="execution(* com.qf.service.impl.*.*(..))" advice-ref="tx"/></aop:config> </beans>11、配置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://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"><context:component-scan base-package="com.qf" /><!--配置注解驅動dr--><mvc:annotation-driven></mvc:annotation-driven><!--靜態資源過濾--><mvc:default-servlet-handler></mvc:default-servlet-handler><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="suffix" value=".jsp"></property><property name="prefix" value="/WEB-INF/pages/"></property></bean><!--引入spring.xml文件的內容交給springmvc來管理--><import resource="spring.xml"></import> </beans>啟動項目輸入:http://localhost:8080/
簡單的查詢就出來了
故天將降大任于是人也,必先苦其心志,勞其筋骨,餓其體膚,空乏其身,行拂亂其所為,所以動心忍性,曾益其所不能!
總結
以上是生活随笔為你收集整理的基于Maven+SpringMVC+Spring+MyBatis+Layui整合框架,超详细的SSM整合❤️的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html visibility属性,CS
- 下一篇: shell trim函数