700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > IDEA整合SSM(Spring+Spring MVC+MyBatis)

IDEA整合SSM(Spring+Spring MVC+MyBatis)

时间:2021-04-07 17:56:48

相关推荐

IDEA整合SSM(Spring+Spring MVC+MyBatis)

如果大家觉得对自己有用的话欢迎一键三连 转载请标明原创

文章目录

前言搭建环境:一、mybatis plus是什么?简介:二、项目搭建1.建库建表2.创项目3.整合SSM总结

前言

mybatis对于数据持久化非常方便 ,但是还有比mybatis更加方便的 还有mybatis plus ,简称MP。本文我将带领你从搭建项目开始入门级mybatisplus的学习。

搭建环境:

ideamaven 3.6.1lombok插件mysqljdk 1.8

提示:以下是本篇文章正文内容,下面案例可供参考

一、mybatis plus是什么?

简介:

SSM框架是Spring MVC ,Spring和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为View层,Controller层,Service层,DAO层四层,使用Spring MVC负责请求的转发和视图管理,Spring实现业务对象管理,Mybatis作为数据对象的持久化引擎。

二、项目搭建

1.建库建表

创建数据库db_wjg

创建表tb_student添加数据

SQL文件如下(示例):

-- 导出 db_wjg 的数据库结构DROP DATABASE IF EXISTS `db_wjg`;CREATE DATABASE IF NOT EXISTS `db_wjg` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `db_wjg`;-- 导出 表 db_wjg.tb_student 结构DROP TABLE IF EXISTS `tb_student`;CREATE TABLE IF NOT EXISTS `tb_student` (`id` int(10) NOT NULL auto_increment,`sname` varchar(12) default NULL,`spwd` varchar(50) default NULL,`tid` int(10) default NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;-- 正在导出表 db_wjg.tb_student 的数据: ~11 rows ((大约))DELETE FROM `tb_student`;/*!40000 ALTER TABLE `tb_student` DISABLE KEYS */;INSERT INTO `tb_student` (`id`, `sname`, `spwd`, `tid`) VALUES(1, '王', '111', 1),(4, '韩同学', '444', 1),(5, '任同学', '555', 2),(6, '吴同学', '666', 3),(8, '赵同学', NULL, 5),(9, '赵同学', NULL, 5),(10, '王同学', '11', 3);

2.创项目

步骤:

file->new->project,如图操作

3.整合SSM

到这web项目就创建好了接下来我们编写pom.xml文件 加入以下代码

<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>ssmDemo1</artifactId><version>1.0-SNAPSHOT</version><!-- 提取版本属性 --><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><piler.source>1.7</piler.source><piler.target>1.7</piler.target><spring.version>4.2.4.RELEASE</spring.version><mybatis.version>3.2.8</mybatis.version><mybatis.spring.version>1.2.2</mybatis.spring.version><slf4j.version>1.6.4</slf4j.version><log4j.version>1.2.12</log4j.version><jackson.version>2.4.2</jackson.version><druid.version>1.0.9</druid.version><mysql.version>5.1.32</mysql.version><jstl.version>1.2</jstl.version><servlet-api.version>2.5</servlet-api.version><jsp-api.version>2.0</jsp-api.version><commons-io.version>1.3.2</commons-io.version><commons-fileupload.version>1.3.1</commons-fileupload.version></properties><!-- 版本锁定 --><dependencyManagement><dependencies><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</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-aspects</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jms</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${spring.version}</version></dependency><!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>${mybatis.spring.version}</version></dependency><!-- 日志处理 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><!-- Jackson Json处理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency><!-- 连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><!-- MySql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!-- io包 --><dependency><groupId>mons</groupId><artifactId>commons-io</artifactId><version>${commons-io.version}</version></dependency><!-- 文件上传组件 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>${commons-fileupload.version}</version></dependency><!-- JSP相关 --><!-- <dependency>--><!--<groupId>javax.servlet.jsp.jstl</groupId>--><!--<artifactId>jstl</artifactId>--><!--<version>${jstl.version}</version>--><!-- </dependency>--><dependency><groupId>javax.servlet.jsp.jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>${servlet-api.version}</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>${jsp-api.version}</version><scope>provided</scope></dependency></dependencies></dependencyManagement><!-- 添加依赖 --><dependencies><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jms</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId></dependency><!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId></dependency><!-- 日志处理 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></dependency><!--mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.45</version></dependency><!--dbcp连接池--><dependency><groupId>commons-dbcp</groupId><artifactId>commons-dbcp</artifactId><version>1.4</version></dependency><dependency><groupId>commons-pool</groupId><artifactId>commons-pool</artifactId><version>1.4</version></dependency><!-- io包 --><dependency><groupId>mons</groupId><artifactId>commons-io</artifactId></dependency><!-- 文件上传组件 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId></dependency><!-- JSP相关 --><dependency><groupId>javax.servlet.jsp.jstl</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><scope>provided</scope></dependency><!--Date依赖--><!-- /artifact/org.projectlombok/lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version><scope>provided</scope></dependency><!-- json jar包 --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.45</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies><build><finalName>ssmDemo1</finalName><pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --><plugins><plugin><artifactId>maven-clean-plugin</artifactId><version>3.1.0</version></plugin><!-- see /ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --><plugin><artifactId>maven-resources-plugin</artifactId><version>3.0.2</version></plugin><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.8.0</version></plugin><plugin><artifactId>maven-surefire-plugin</artifactId><version>2.22.1</version></plugin><plugin><artifactId>maven-war-plugin</artifactId><version>3.2.2</version></plugin><plugin><artifactId>maven-install-plugin</artifactId><version>2.5.2</version></plugin><plugin><artifactId>maven-deploy-plugin</artifactId><version>2.8.2</version></plugin></plugins></pluginManagement><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources></build></project>

搭建如下目录架构

配置web.xml文件

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_4_0.xsd"version="4.0"><display-name>SSM</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!-- spring监听器 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 指定spring核心配置文件 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><!-- 处理POST提交乱码问题 --><filter><filter-name>encoding</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>encoding</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 配置前端控制器 --><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 指定配置文件位置和名称 如果不设置,默认找/WEB-INF/<servlet-name>-servlet.xml --><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><servlet-mapping><servlet-name>default</servlet-name><url-pattern>*.html</url-pattern></servlet-mapping></web-app>

配置db.properties

driver=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/db_wjg?useUnicode=true&characterEncoding=utf-8user=rootpassword=x5

配置applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="/2001/XMLSchema-instance"xmlns="/schema/beans"xmlns:context="/schema/context"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-4.2.xsd/schema/context /schema/context/spring-context-4.2.xsd/schema/tx /schema/tx/spring-tx-4.2.xsd"><!-- 加载数据库连接信息配置文件 --><context:property-placeholder location="classpath:db.properties" /><!--数据库连接池 --><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="${driver}"/><property name="url" value="${url}"/><property name="username" value="${user}"/><property name="password" value="${password}"/></bean><!-- 配置Mybatis工厂 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="configLocation" value="classpath:mybatis-config.xml" /></bean><!-- Mapper动态代理开发 扫包 给定包下的接口文件名和映射文件名必须相同 创建接口的实现类--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.wjg.dao" /></bean><!-- 开启事务 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><!-- 事物注解驱动--><tx:annotation-driven /></beans>

配置log4j.properties文件

#定义LOG输出级别log4j.rootLogger=INFO,Console,File#定义日志输出目的地为控制台log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.Target=System.out#可以灵活的指定日志输出格式,下面一行是指定具体的格式log4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=[%c]-%m%n#mybatis显示SQL语句日志配置.wjg.dao=DEBUG#文件大小到达指定尺寸的时候产生一个新的文件log4j.appender.File=org.apache.log4j.RollingFileAppender#指定输出目录log4j.appender.File.File=logs/ssm.log#定义文件最大大小log4j.appender.File.MaxFileSize=10MB#输出所有日志,如果换成DEBUG表示输出DEBUG以上级别日志log4j.appender.File.Threshold=ALLlog4j.appender.File.layout=org.apache.log4j.PatternLayoutlog4j.appender.File.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm|\:ss}][%c]%m%n

配置mybatis-config.xml文件

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurationPUBLIC "-////DTD Config 3.0//EN""/dtd/mybatis-3-config.dtd"><configuration><!-- 给实体类起别名 --><typeAliases ><package name="com.wjg.pojo"/></typeAliases></configuration>

配置springMvc.xml文件

<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="/2001/XMLSchema-instance"xmlns="/schema/beans"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-4.2.xsd/schema/context /schema/context/spring-context-4.2.xsd/schema/mvc /schema/mvc/spring-mvc-4.2.xsd"><!-- 配置扫描注解 @Controller @Service --><context:component-scan base-package="com.wjg" /><!-- SpringMVC使用<mvc:annotation-driven>自动加载RequestMappingHandlerMapping和RequestMappingHandlerAdapter --><mvc:annotation-driven /><!-- 配置静态资源映射 --><!-- <mvc:resources location="/view/*.html/" mapping="/view/**"/>--><mvc:resources location="/view/css/" mapping="/view/css/**"/><mvc:resources location="/view/img/" mapping="/view/img/**"/><!--<mvc:resources location="/view/font/" mapping="/font/**"/>--><!-- 配置视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- 配置逻辑视图的前缀 --><property name="prefix" value="/view/" /><!-- 配置逻辑视图的后缀 --><property name="suffix" value=".html" /></bean></beans>

配置文件都配置好后在java目录下创建以下目录结构

在Student实体类中加入以下代码

package com.wjg.pojo;import lombok.Data;/*** @author wjg* @date /3/22-10:50*/@Datapublic class Student {private Integer id;private String sname;private String spwd;}

StudentController.java中

package com.wjg.controller;import com.wjg.pojo.Student;import com.wjg.service.Studentservice;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** @author wjg* @date /3/22-10:59*/@RestController@RequestMapping("/stu")public class StudentController {@AutowiredStudentservice studentservice;@RequestMapping(value = "/getAll")public String getAll(){List<Student> list=studentservice.getAll();return list.toString();}@RequestMapping("/add")public String add(Student student){studentservice.add(student);System.out.println(student.toString());return "null";}}

StudentServiceImpl中

package com.wjg.service.impl;import com.wjg.pojo.Student;import java.util.List;/*** @author wjg* @date /3/22-11:00*/public interface StudentserviceImpl {void add(Student student);List<Student> getAll();}

StudentService.java中

package com.wjg.service;import com.wjg.dao.StudentDao;import com.wjg.pojo.Student;import com.wjg.service.impl.StudentserviceImpl;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import javax.xml.ws.Action;import java.util.List;import java.util.concurrent.CountDownLatch;/*** @author wjg* @date /3/22-11:20*/@Servicepublic class Studentservice implements StudentserviceImpl {@AutowiredStudentDao studentDao;@Overridepublic void add(Student student) {studentDao.add(student);}@Overridepublic List<Student> getAll() {return studentDao.getAll();}}

StudentDao.java 中

package com.wjg.dao;import com.wjg.pojo.Student;import java.util.List;/*** @author wjg* @date /3/22-10:55*/public interface StudentDao {public List<Student> getAll();public void add(Student student);}

StudentDao.xml中加入

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapperPUBLIC "-////DTD Mapper 3.0//EN""/dtd/mybatis-3-mapper.dtd"><mapper namespace = "com.wjg.dao.StudentDao"><insert id="add" parameterType="Student">insert into tb_student (sname,spwd) values (#{sname},#{spwd})</insert><!-- 获取用户列表 --><select id="getAll" resultType="Student">select * from tb_student</select></mapper>

所有的文件都准备完成后我们发布到服务器进行测试

启动测试:

数据库的内容就查出来了

总结

至此,IDEA整合SSM(Spring+Spring MVC+MyBatis)的maven项目的教程就全部完结了 欢迎各路大佬一键三连 老弟再次谢过了 !改插删功能我会在后续的博文中陆续发出 ,博主也是ssm小白,欢迎关注交流,一起走向秃头之路!

关注楠沣不迷路,楠沣带你上高速!

好了 今天就到这里了 咱们下期再见!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。