赞
踩
SpringBoot 整合 Spring
、SpringMVC
、MyBatis
进行数据访问场景开发
- <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>3.0.1</version>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <scope>runtime</scope>
- </dependency>
三大框架整合操作数据库最先要配置的是数据库。
- spring.datasource.url=jdbc:mysql://192.168.200.100:3306/demo
- spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
- spring.datasource.username=root
- spring.datasource.password=123456
- spring.datasource.type=com.zaxxer.hikari.HikariDataSource
安装MyBatisX 插件,帮我们生成Mapper接口的xml文件即可
- #指定mapper映射文件位置
- mybatis.mapper-locations=classpath:/mapper/*.xml
- #参数项调整
- mybatis.configuration.map-underscore-to-camel-case=true
mybatisx
插件,快速生成MapperXML生成到
SSM整合总结:
mybatis-spring-boot-starter
mapper接口扫描
与xml映射文件扫描
mybatis配置
写在application.properties
下面
jdbc场景的自动配置
:
mybatis-spring-boot-starter
导入spring-boot-starter-jdbc
,jdbc是操作数据库的场景Jdbc
场景的几个自动配置
- org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
- 数据源的自动配置
- 所有和数据源有关的配置都绑定在
DataSourceProperties
- 默认使用
HikariDataSource
- org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration
- 给容器中放了
JdbcTemplate
操作数据库
- org.springframework.boot.autoconfigure.jdbc.JndiDataSourceAutoConfiguration
- org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration
- 基于XA二阶提交协议的分布式事务数据源
- org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration
- 支持事务
- 具有的底层能力:数据源、
JdbcTemplate
、事务
MyBatisAutoConfiguration
:配置了MyBatis的整合流程mybatis-spring-boot-starter
导入 mybatis-spring-boot-autoconfigure(mybatis的自动配置包)
,SqlSessionFactory
组件。创建和数据库的一次会话SqlSessionTemplate
组件。操作数据库MybatisProperties
@Import(MapperScannerRegistrar.class)
批量给容器中注册组件。解析指定的包路径里面的每一个类,为每一个Mapper接口类,创建Bean定义信息,注册到容器中。如何分析哪个场景导入以后,开启了哪些自动配置类。
找:classpath:/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
文件中配置的所有值,就是要开启的自动配置类,但是每个类可能有条件注解,基于条件注解判断哪个自动配置类生效了。
- #开启调试模式,详细打印开启了哪些自动配置
- debug=true
- # Positive(生效的自动配置) Negative(不生效的自动配置)
暂不支持 SpringBoot3
druid-starter
- #数据源基本配置
- spring.datasource.url=jdbc:mysql://192.168.200.100:3306/demo
- spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
- spring.datasource.username=root
- spring.datasource.password=123456
- spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
-
- # 配置StatFilter监控
- spring.datasource.druid.filter.stat.enabled=true
- spring.datasource.druid.filter.stat.db-type=mysql
- spring.datasource.druid.filter.stat.log-slow-sql=true
- spring.datasource.druid.filter.stat.slow-sql-millis=2000
- # 配置WallFilter防火墙
- spring.datasource.druid.filter.wall.enabled=true
- spring.datasource.druid.filter.wall.db-type=mysql
- spring.datasource.druid.filter.wall.config.delete-allow=false
- spring.datasource.druid.filter.wall.config.drop-table-allow=false
- # 配置监控页,内置监控页面的首页是 /druid/index.html
- spring.datasource.druid.stat-view-servlet.enabled=true
- spring.datasource.druid.stat-view-servlet.login-username=admin
- spring.datasource.druid.stat-view-servlet.login-password=admin
- spring.datasource.druid.stat-view-servlet.allow=*
-
- # 其他 Filter 配置不再演示
- # 目前为以下 Filter 提供了配置支持,请参考文档或者根据IDE提示(spring.datasource.druid.filter.*)进行配置。
- # StatFilter
- # WallFilter
- # ConfigFilter
- # EncodingConvertFilter
- # Slf4jLogFilter
- # Log4jFilter
- # Log4j2Filter
- # CommonsLogFilter
- CREATE TABLE `t_user`
- (
- `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
- `login_name` VARCHAR(200) NULL DEFAULT NULL COMMENT '用户名称' COLLATE 'utf8_general_ci',
- `nick_name` VARCHAR(200) NULL DEFAULT NULL COMMENT '用户昵称' COLLATE 'utf8_general_ci',
- `passwd` VARCHAR(200) NULL DEFAULT NULL COMMENT '用户密码' COLLATE 'utf8_general_ci',
- PRIMARY KEY (`id`)
- );
- insert into t_user(login_name, nick_name, passwd) VALUES ('zhangsan','张三','123456');
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。