學習視頻:https://www.bilibili.com/video/BV19K4y1L7MT?p=62&spm_id_from=pageDriver
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jdbc</artifactId></dependency>
誤刪boot怎么開機,導入數據源后需要導入數據庫驅動,指明使用哪個數據庫
默認版本:<mysql.version>8.0.22</mysql.version><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
<!-- <version>5.1.49</version>--></dependency>
想要修改版本
1、直接依賴引入具體版本(maven的就近依賴原則)
2、重新聲明版本(maven的屬性的就近優先原則)<properties><java.version>1.8</java.version><mysql.version>5.1.49</mysql.version></properties>
自動配置好的類:
DataSourceAutoConfiguration : 數據源的自動配置
@Configuration(proxyBeanMethods = false)@Conditional(PooledDataSourceCondition.class)@ConditionalOnMissingBean({ DataSource.class, XADataSource.class })@Import({ DataSourceConfiguration.Hikari.class, DataSourceConfiguration.Tomcat.class,DataSourceConfiguration.Dbcp2.class, DataSourceConfiguration.OracleUcp.class,DataSourceConfiguration.Generic.class, DataSourceJmxConfiguration.class })protected static class PooledDataSourceConfiguration
java調用接口獲取數據?DataSourceTransactionManagerAutoConfiguration: 事務管理器的自動配置
JdbcTemplateAutoConfiguration: JdbcTemplate的自動配置,可以來對數據庫進行crud
JndiDataSourceAutoConfiguration: jndi的自動配置
boot文件,XADataSourceAutoConfiguration: 分布式事務相關的
spring:datasource:url: jdbc:mysql://localhost:3306/db_accountusername: rootpassword: 123456driver-class-name: com.mysql.jdbc.Driver
@Slf4j
@SpringBootTest
class Boot05WebAdminApplicationTests {@AutowiredJdbcTemplate jdbcTemplate;@Testvoid contextLoads() {// jdbcTemplate.queryForObject("select * from account_tbl")
// jdbcTemplate.queryForList("select * from account_tbl",)Long aLong = jdbcTemplate.queryForObject("select count(*) from account_tbl", Long.class);log.info("記錄總數:{}",aLong);}}
github:https://github.com/alibaba/druid
整合第三方技術的兩種方式:
<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.17</version></dependency><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"destroy-method="close"><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><property name="maxActive" value="20" /><property name="initialSize" value="1" /><property name="maxWait" value="60000" /><property name="minIdle" value="1" /><property name="timeBetweenEvictionRunsMillis" value="60000" /><property name="minEvictableIdleTimeMillis" value="300000" /><property name="testWhileIdle" value="true" /><property name="testOnBorrow" value="false" /><property name="testOnReturn" value="false" /><property name="poolPreparedStatements" value="true" /><property name="maxOpenPreparedStatements" value="20" />
bootcamp怎么安裝,spring boot 可以使用yml方式
StatViewServlet的用途包括:
- 提供監控信息展示的html頁面
- 提供監控信息的JSON API
<servlet><servlet-name>DruidStatView</servlet-name><servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class></servlet><servlet-mapping><servlet-name>DruidStatView</servlet-name><url-pattern>/druid/*</url-pattern></servlet-mapping>
需要給數據源中配置如下屬性;可以允許多個filter,多個用,分割;如:
慢SQL記錄
<bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter"><property name="slowSqlMillis" value="10000" /><property name="logSlowSql" value="true" />
</bean>使用 slowSqlMillis 定義慢SQL的時長
<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.17</version></dependency>
擴展配置項 spring.datasource.druid
DruidSpringAopConfiguration.class, 監控SpringBean的;配置項:spring.datasource.druid.aop-patterns
DruidStatViewServletConfiguration.class, 監控頁的配置:spring.datasource.druid.stat-view-servlet;默認開啟
DruidWebStatFilterConfiguration.class, web監控配置;spring.datasource.druid.web-stat-filter;默認開啟
DruidFilterConfiguration.class}) 所有Druid自己filter的配置
private static final String FILTER_STAT_PREFIX = "spring.datasource.druid.filter.stat";private static final String FILTER_CONFIG_PREFIX = "spring.datasource.druid.filter.config";private static final String FILTER_ENCODING_PREFIX = "spring.datasource.druid.filter.encoding";private static final String FILTER_SLF4J_PREFIX = "spring.datasource.druid.filter.slf4j";private static final String FILTER_LOG4J_PREFIX = "spring.datasource.druid.filter.log4j";private static final String FILTER_LOG4J2_PREFIX = "spring.datasource.druid.filter.log4j2";private static final String FILTER_COMMONS_LOG_PREFIX = "spring.datasource.druid.filter.commons-log";private static final String FILTER_WALL_PREFIX = "spring.datasource.druid.filter.wall";
spring:datasource:url: jdbc:mysql://localhost:3306/bookstoreusername: rootpassword: '073838'driver-class-name: com.mysql.jdbc.Driverdruid:aop-patterns: com.atguigu.admin.* #監控SpringBeanfilters: stat,wall # 底層開啟功能,stat(sql監控),wall(防火墻)stat-view-servlet: # 配置監控頁功能enabled: truelogin-username: adminlogin-password: adminresetEnable: falseweb-stat-filter: # 監控webenabled: trueurlPattern: /*exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'filter:stat: # 對上面filters里面的stat的詳細配置slow-sql-millis: 1000logSlowSql: trueenabled: truewall:enabled: trueconfig:drop-table-allow: false
訪問監控地址:http://localhost:8080/druid/
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.0</version></dependency>
引入的jar包:
配置:
mybatis:config-location: classpath:mybatis/mybatis-config.xml #全局配置文件位置mapper-locations: classpath:mybatis/mapper/*.xml #sql映射文件位置
BookUser:
@Data
public class BookUser {private Long id;private String username;private String password;private String email;
}
UserMapper:
@Mapper
public interface UserMapper {public BookUser getUser(Long id);
}
sql映射文件UserMapper.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.deserts.boot.mapper.UserMapper"><select id="getUser" resultType="com.deserts.boot.bean.BookUser" parameterType="long">select * from bs_user where id = #{id}</select>
</mapper>
UserService:
@Service
public class UserService {@AutowiredUserMapper userMapper;public BookUser getById(Long id){return userMapper.getUser(id);}
}
UserController:
@RestController
public class UserController {@AutowiredUserService userService;@GetMapping("/user")public BookUser getUserById(@RequestParam("id") Long id){BookUser user = userService.getById(id);return user;}
}
1、同上,使用xml配置并指定配置文件位置
mybatis:config-location: classpath:mybatis/mybatis-config.xml #全局配置文件位置mapper-locations: classpath:mybatis/mapper/*.xml #sql映射文件位置
2、使用yml直接配置
mybatis:mapper-locations: classpath:mybatis/mapper/*.xml #sql映射文件位置configuration: #全局配置map-underscore-to-camel-case: true #開啟駝峰命名映射
簡單的語句可以不寫mapper映射文件,直接使用注解的方式去編寫
@Mapper
public interface UserMapper {@Select("select * from bs_user where id = #{id}")public BookUser getUser(Long id);
}
兩種方式也可以混合使用
加入依賴
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.1</version></dependency>
自動配置
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态