高级营销网站建设只需1200元,网址英文,建筑类培训网校排名,免费模板简历个人简介#xff1a;Java领域新星创作者#xff1b;阿里云技术博主、星级博主、专家博主#xff1b;正在Java学习的路上摸爬滚打#xff0c;记录学习的过程~ 个人主页#xff1a;.29.的博客 学习社区#xff1a;进去逛一逛~ SSM框架整合一、导入相关依赖二、配置web.xml文… 个人简介Java领域新星创作者阿里云技术博主、星级博主、专家博主正在Java学习的路上摸爬滚打记录学习的过程~ 个人主页.29.的博客 学习社区进去逛一逛~ SSM框架整合一、导入相关依赖二、配置web.xml文件三、SpringMVC配置文件四、搭建MyBatis环境⚪属性文件jdbc.properties⚪MyBatis核心配置文件⚪创建Mapper接口 Mapper映射文件⚪日志文件log4j.xml五、Spring配置文件一、导入相关依赖 pom.xml配置文件
打包方式war
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.haojin.ssm/groupIdartifactIdssm/artifactIdversion1.0-SNAPSHOT/versionpackagingwar/packagingpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetspring.version5.3.1/spring.version/propertiesdependenciesdependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-beans/artifactIdversion${spring.version}/version/dependency!--springmvc--dependencygroupIdorg.springframework/groupIdartifactIdspring-web/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-aspects/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-test/artifactIdversion${spring.version}/version/dependency!-- Mybatis核心 --dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.7/version/dependency!--mybatis和spring的整合包--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion2.0.6/version/dependency!-- 连接池 --dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.0.9/version/dependency!-- junit测试 --dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope/dependency!-- MySQL驱动 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.31/version/dependency!-- log4j日志 --dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.17/version/dependency!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper/artifactIdversion5.2.0/version/dependency!-- 日志 --dependencygroupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion1.2.3/version/dependency!-- ServletAPI --dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.12.1/version/dependencydependencygroupIdcommons-fileupload/groupIdartifactIdcommons-fileupload/artifactIdversion1.3.1/version/dependency!-- Spring5和Thymeleaf整合包 --dependencygroupIdorg.thymeleaf/groupIdartifactIdthymeleaf-spring5/artifactIdversion3.0.12.RELEASE/version/dependency/dependencies/project二、配置web.xml文件 web.xml文件所在目录*\src\main\webapp\WEB-INF\web.xml 配置目录 1.spring的编码过滤器 2.处理请求方式的过滤器 3.SpringMVC的前端控制器DispatcherServlet 4.自定义springmvc配置文件的名称与位置 5.将DispatcherServlet的初始化时间提前到服务器启动前 6.spring监听器在服务器启动时加载spring的配置文件 7.自定义spring配置文件的名称与位置
web.xml:
?xml version1.0 encodingUTF-8?
web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0!--配置spring的编码过滤器--filterfilter-nameCharacterEncodingFilter/filter-namefilter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-classinit-param !--配置encoding设置请求的编码为utf-8--param-nameencoding/param-nameparam-valueutf-8/param-value/init-paraminit-param !--forceEncoding设置为true使得响应的编码也能配置--param-nameforceEncoding/param-nameparam-valuetrue/param-value/init-param/filterfilter-mappingfilter-nameCharacterEncodingFilter/filter-nameurl-pattern/*/url-pattern/filter-mapping!--配置处理请求方式的过滤器--filterfilter-nameHiddenHttpMethodFilter/filter-namefilter-classorg.springframework.web.filter.HiddenHttpMethodFilter/filter-class/filterfilter-mappingfilter-nameHiddenHttpMethodFilter/filter-nameurl-pattern/*/url-pattern/filter-mapping!--配置SpringMVC的前端控制器DispatcherServlet--servletservlet-nameSpringMVC/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class!--设置springmvc配置文件自定义的位置和名称--init-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:springmvc.xml/param-value/init-param!--将DispatcherServlet的初始化时间提前到服务器启动前--load-on-startup1/load-on-startup/servletservlet-mappingservlet-nameSpringMVC/servlet-nameurl-pattern//url-pattern/servlet-mapping!--配置spring监听器在服务器启动时加载spring的配置文件--listenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listener!--配置spring配置文件自定义的位置和名称--context-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:spring.xml/param-value/context-param
/web-app三、SpringMVC配置文件 SpringMVC配置文件的位置Maven工程下的resources目录 SpringMVC配置文件springmvc.xml
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxmlns:mvchttp://www.springframework.org/schema/mvcxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd!--配置扫描控制层的组件--context:component-scan base-packagecom.haojin.ssm.controller/!--配置Thymeleaf的视图解析器--bean idviewResolver classorg.thymeleaf.spring5.view.ThymeleafViewResolverproperty nameorder value1/property namecharacterEncoding valueUTF-8/property nametemplateEnginebean classorg.thymeleaf.spring5.SpringTemplateEngineproperty nametemplateResolverbean classorg.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver!-- 视图前缀 --property nameprefix value/WEB-INF/templates//!-- 视图后缀 --property namesuffix value.html/property nametemplateMode valueHTML5/property namecharacterEncoding valueUTF-8 //bean/property/bean/property/bean!--配置默认的servlet处理静态资源--mvc:default-servlet-handler /!--开启mvc框架的注解驱动--mvc:annotation-driven /!--配置视图控制器--mvc:view-controller path/ view-nameindex/mvc:view-controller!--配置文件上传解析器--bean idmultipartResolver classorg.springframework.web.multipart.commons.CommonsMultipartResolver/
/beans配置文件中配置了扫描的包com.haojin.ssm.controller 配置文件中视图控制器所配置的视图index.html 四、搭建MyBatis环境 ⚪属性文件jdbc.properties
属性文件jdbc.properties中存放的是用于连接数据库的相关属性
jdbc.usernameroot
jdbc.passwordabc123
jdbc.urljdbc:mysql://localhost:3306/ssm?serverTimezoneUTC
jdbc.drivercom.mysql.cj.jdbc.Driver ⚪MyBatis核心配置文件
MyBatis的核心配置文件通常命名为mybatis-config.xml:
?xml version1.0 encodingUTF-8 ?
!DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttps://mybatis.org/dtd/mybatis-3-config.dtd
configuration!--引入外部文件jdbc.properties--properties resourcejdbc.properties/!--设置mybatis全局配置--settings!-- mapUnderscoreToCamelCase(默认为false) 下划线自动映射为驼峰 —— t_emp映射为tEmp --setting namemapUnderscoreToCamelCase valuetrue/!--lazyLoadingEnabled开启延迟加载--setting namelazyLoadingEnabled valuetrue/!----/settings!--设置类型别名--typeAliasespackage namecom.haojin.mybatis.pojo//typeAliasesplugins!--配置分页插件--plugin interceptorcom.github.pagehelper.PageInterceptor /plugin/plugins!--配置连接数据库的相关环境--environments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLEDproperty namedriver value${jdbc.driver}/property nameurl value${jdbc.url}/property nameusername value${jdbc.username}/property namepassword value${jdbc.password}//dataSource/environment/environments!--配置映射文件--mapperspackage namecom.haojin.mybatis.mapper//mappers/configuration⚪创建Mapper接口 Mapper映射文件
注意
映射文件的属性 namespace 要和mapper接口的 全类名 保持一致映射文件中SQL语句的 id 与mapper接口中的 方法名 保持一致 Mapper接口 EmployeeMapper:
/*** author .29.* create 2023-03-15 15:49*/
public interface EmployeeMapper {ListEmployee getEmployeeList();
}Mapper映射文件 EmployeeMapper.xml
?xml version1.0 encodingUTF-8 ?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttps://mybatis.org/dtd/mybatis-3-mapper.dtd
!--namespace属性与mapper接口全类名保持一致--
mapper namespacecom.haojin.ssm.mapper.EmployeeMapper!--SQL语句的id与mapper接口中的方法名保持一致--!--查询功能的标签必须设置 resultType 或 resultMap- resultType 设置默认的映射关系- resultMap 设置自定义的映射关系--!--ListEmployee getEmployeeList();--select idgetEmployeeList resultTypeEmployeeselect * from t_emp;/select/mapper⚪日志文件log4j.xml
在导入依赖时我们导入了Log4j日志框架所以需要配置其核心配置文件log4j.xml。
?xml version1.0 encodingUTF-8 ?!DOCTYPE log4j:configuration SYSTEM log4j.dtdlog4j:configuration xmlns:log4jhttp://jakarta.apache.org/log4j/appender nameSTDOUT classorg.apache.log4j.ConsoleAppenderparam nameEncoding valueUTF-8/layout classorg.apache.log4j.PatternLayoutparam nameConversionPattern value%-5p %d{MM-dd HH:mm:ss,SSS}
%m (%F:%L) \n//layout/appenderlogger namejava.sqllevel valuedebug//loggerlogger nameorg.apache.ibatislevel valueinfo//loggerrootlevel valuedebug/appender-ref refSTDOUT//root
/log4j:configuration五、Spring配置文件 ?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/context xmlns:txhttp://www.springframework.org/schema/txxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd!--扫描组件除去控制层--context:component-scan base-packagecom.haojin.ssmcontext:exclude-filter typeannotation expressionorg.springframework.stereotype.Controller//context:component-scan!--引入外部配置文件jdbc.properties--context:property-placeholder locationclasspath:jdbc.properties/!--配置数据源--bean iddataSource classcom.alibaba.druid.pool.DruidDataSourceproperty nameurl value${jdbc.url}/propertyproperty nameusername value${jdbc.username}/propertyproperty namepassword value${jdbc.password}/propertyproperty namedriverClassName value${jdbc.driver}/property/bean!--配置事务管理器--bean idtransactionManager classorg.springframework.jdbc.datasource.DataSourceTransactionManager!--引用数据源--property namedataSource refdataSource/property/bean!--开启事务注解驱动:将使用Transactional表示的方法或类中的所有方法进行事务管理--tx:annotation-driven transaction-managertransactionManager/!--配置SqlSessionFactoryBean,可以直接从Spring的IOC容器中获取SqlSessionFactory对象--bean classorg.mybatis.spring.SqlSessionFactoryBean!--配置MyBatis核心配置文件的路径--property nameconfigLocation valueclasspath:mybatis-config.xml/property!--设置数据源这里通过spring设置mybatis-config.xml中的相关配置可删除--property namedataSource refdataSource/property!--设置类型别名类似的包--property nametypeAliasesPackage valuecom.haojin.ssm.pojo/property!--设置映射文件路径只有映射文件的包和mapper接口的包不一致时需要设置--!--property namemapperLocations valueclasspath:mappers/*.xml/property--/bean!--配置mapper接口扫描通过SqlSession创建基础包中所有mapper接口的代理实现类对象并交给IOC管理--bean classorg.mybatis.spring.mapper.MapperScannerConfigurer!--设置基础包--property namebasePackage valuecom.haojin.ssm.mapper/property/bean/beans