wordpress本地建站,seo网络优化师招聘,抖音信息流广告代理商,水利网站建设情况汇报文章目录 前言一、使用步骤1.引入库2.建表3 项目结构4 web.xml的配置5 配置数据源6 SpringMVC配置7 配置MyBatis Mapper8 书写控制类 总结 前言
提示#xff1a;这里可以添加本文要记录的大概内容#xff1a;
SSM整合是指Spring、SpringMVC和MyBatis这三个框架的整合使用。… 文章目录 前言一、使用步骤1.引入库2.建表3 项目结构4 web.xml的配置5 配置数据源6 SpringMVC配置7 配置MyBatis Mapper8 书写控制类 总结 前言
提示这里可以添加本文要记录的大概内容
SSM整合是指Spring、SpringMVC和MyBatis这三个框架的整合使用。它们分别是Java企业级开发中常用的三个框架通过整合使用可以实现更加高效、灵活和可维护的开发。
具体来说SSM整合的步骤如下
配置Spring在Spring的配置文件中定义Bean配置数据源、事务管理器等。配置SpringMVC在SpringMVC的配置文件中配置视图解析器、处理器映射器等。配置MyBatis在MyBatis的配置文件中配置数据源、Mapper扫描等。整合Spring和MyBatis通过Spring的配置文件中配置MyBatis的SqlSessionFactoryBean将MyBatis与Spring整合。整合SpringMVC和Spring在SpringMVC的配置文件中配置Spring的上下文将SpringMVC与Spring整合。
整合完成后可以在Spring中管理MyBatis的Mapper并且在SpringMVC中使用注解方式进行请求处理。这样可以充分发挥三个框架的优势提高开发效率和代码质量。 提示以下是本篇文章正文内容下面案例可供参考
一、使用步骤
1.引入库
在pom文件中添加以下依赖项代码如下示例 !--mybatis spring 桥梁--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion2.1.2/version/dependency!--mybatis--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.15/version/dependency!--引入事务管理--dependencygroupIdorg.springframework/groupIdartifactIdspring-tx/artifactIdversion5.3.32/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.3.32/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.30/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.49/version/dependencydependencygroupIdorg.aspectj/groupIdartifactIdaspectjweaver/artifactIdversion1.9.9.1/version/dependency!--spring mvc核心依赖--dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.3.32/version/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion4.0.1/version/dependency2.建表
代码如下示例
/*Navicat Premium Data TransferSource Server : RpWnSource Server Type : MySQLSource Server Version : 50735 (5.7.35)Source Host : localhost:3306Source Schema : demoTarget Server Type : MySQLTarget Server Version : 50735 (5.7.35)File Encoding : 65001Date: 07/04/2024 14:53:54
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS 0;-- ----------------------------
-- Table structure for userinfo
-- ----------------------------
DROP TABLE IF EXISTS userinfo;
CREATE TABLE userinfo (id int(11) NOT NULL AUTO_INCREMENT,username varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,password varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,state int(11) NULL DEFAULT 1,PRIMARY KEY (id) USING BTREE
) ENGINE InnoDB AUTO_INCREMENT 47 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ROW_FORMAT Dynamic;-- ----------------------------
-- Records of userinfo
-- ----------------------------
INSERT INTO userinfo VALUES (1, root, root, 1);
INSERT INTO userinfo VALUES (2, admin, admin, 1);
INSERT INTO userinfo VALUES (3, pyy, 123, 2);
INSERT INTO userinfo VALUES (33, 123qwe, 123, 1);
INSERT INTO userinfo VALUES (34, 123, 123, 1);
INSERT INTO userinfo VALUES (35, 765434, 3443, 1);
INSERT INTO userinfo VALUES (36, 4321, 1234, 1);
INSERT INTO userinfo VALUES (37, qq123, 123, 1);
INSERT INTO userinfo VALUES (38, admin321, 123, 1);
INSERT INTO userinfo VALUES (42, setf, tgrd, 1);
INSERT INTO userinfo VALUES (43, ertfe, rdgt, 1);
INSERT INTO userinfo VALUES (44, 435, 345, 0);
INSERT INTO userinfo VALUES (45, 435, 345, 1);
INSERT INTO userinfo VALUES (46, String, String, 0);SET FOREIGN_KEY_CHECKS 1;
3 项目结构
建成这样目录结构的项目
4 web.xml的配置
添加以下代码防止乱码
filterfilter-nameencodingResult/filter-namefilter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-classinit-paramparam-nameencoding/param-nameparam-valueUTF-8/param-value/init-param/filterfilter-mappingfilter-nameencodingResult/filter-nameurl-pattern/*/url-pattern/filter-mapping5 配置数据源
在db.properties文件中书写数据库连接数据源 在DBConfig书写
Configuration
PropertySource(classpath:db.properties)
EnableTransactionManagement//启用事务注解的支持
ComponentScan(com.llf)
MapperScan(com.llf.mapper)
EnableWebMvc//启用mvc注解支持
public class DbConfig {Value(${user})String username;Value(${password})String password;Value(${driver})String driver;Value(${url})String url;Beanpublic DataSource dataSource() {DriverManagerDataSource dataSource new DriverManagerDataSource();dataSource.setUsername(username);dataSource.setPassword(password);dataSource.setUrl(url);dataSource.setDriverClassName(driver);return dataSource;}/*** 事务管理器** param dataSource* return*/Beanpublic DataSourceTransactionManager transactionManager(DataSource dataSource) {return new DataSourceTransactionManager(dataSource);}Beanpublic SqlSessionFactory sqlSessionFactory(DataSource dataSource) {SqlSessionFactoryBean factoryBean new SqlSessionFactoryBean();//设置数据源factoryBean.setDataSource(dataSource);//设置别名factoryBean.setTypeAliasesPackage(com.llf.bean);//mybaits配置类org.apache.ibatis.session.Configuration cfg new org.apache.ibatis.session.Configuration();//输出sql语句cfg.setLogImpl(StdOutImpl.class);factoryBean.setConfiguration(cfg);//设置映射文件的位置PathMatchingResourcePatternResolver resolver new PathMatchingResourcePatternResolver();//读取类路径下mybatis文件夹下 以Mapper.xml结尾的文件Resource[] resources null;try {resources resolver.getResources(classpath:mybatis/*Mapper.xml);} catch (IOException e) {throw new RuntimeException(e);}factoryBean.setMapperLocations(resources);try {return factoryBean.getObject();} catch (Exception e) {throw new RuntimeException(e);}}}6 SpringMVC配置
在WebApp中书写以下代码
public class WebApp extends AbstractAnnotationConfigDispatcherServletInitializer {Overrideprotected Class?[] getRootConfigClasses() {return new Class[]{DbConfig.class};}Overrideprotected Class?[] getServletConfigClasses() {return new Class[0];}Overrideprotected String[] getServletMappings() {return new String[]{/};}
}7 配置MyBatis Mapper 在mapper.xml文件中书写sql语句
mapper namespacecom.llf.mapper.UserMapperinsert idsaveinsert into userinfo(username, password, state)values (#{username}, #{password}, #{status})/insert/mapper8 书写控制类
写userController类用于用户请求并相应 PostMapping(/user)public ResultBean save(RequestBody User user) {int rs userService.save(user);return rs 1 ? success(保存成功) : fail(保存失败);}总结
SSM整合核心有以下几点
Spring的IOC容器创建先于SpringMVC的IOC容器 SpringMVC扫描的是controller包Spring要把其他的包扫描了两个框架管理各自的组件 了解 ContextLoaderListener 监听器的作用在服务器启动的时候加载Spring的配置文件 Spring配置文件代替原来的 mybatis-config.xml 其余的配置与单独使用时基本一致。