二、使用MyBatis

1.使用MyBatis需要添加插件

2.MyBatis基本标签

1. sql标签:定义了一段SQL语句,可以和include一起使用

2.select标签:封装查询语句的标签

3.update标签:封装了更新语句的标签

4.delete标签:封装了删除语句的标签

5.insert标签:封装了插入语句的标签

6.if标签,表示动态判断属性是否满足的某个条件,如果满足,则拼接if标签中的SQL语句

7.trim标签:动态添加前缀后缀,删除末尾字符

3.MyBatis配置

1.下载依赖包

 <!--配置mybatis  mybatis-spring-boot-starter -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.2</version>
        </dependency>

2.打开application.yml,配置如下

#MyBatis配置
mybatis:
  configuration:
    map-underscore-to-camel-case: true #数据库表中的下划线自动转化成驼峰
  mapper-locations: classpath:mybatis/mapper/**/*.xml #mapper文件的路径,这个路径下的mapper.xml会被自动加载成mybatis映射文件(**为多级目录)

3.链接数据库的三剑客

1.mybatis-spring-boot-starter

2.mysql驱动程序类

        <!--配置mysql驱动程序类 mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.19</version>
        </dependency>

3.德鲁伊连接池(Druid)阿里的数据库连接池

        <!-- 配置德鲁伊连接池 druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.22</version>
        </dependency>

4.要配置数据库驱动程序和账户密码和连接池

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource #连接池的类型
    password: 950313 #数据库密码
    data-username: root #数据库的账号
    driver-class-name: com.mysql.jdbc.Driver #数据库驱动程序类5.7
    #driver-class-name: com.mysql.cj.jdbc.Driver #数据库驱动程序类8.X
    url: jdbc:mysql://localhost:3306/db_filesys #?serverTimezone=GMT #mysql8.0会多出时区配置

 

Spring Boot整合MyBatis后,可以利用MyBatis级缓存功能来提高性能。级缓存通常存储在内存中,用于减少数据库查询次数,特别是在数据读取频繁且数据相对静态的情况下。以下是配置和使用级缓存的基本步骤: 1. **启用MyBatis级缓存**: 在`mybatis-spring.xml`或application.properties(YAML)文件中,添加开启缓存的配置。例如: ```xml <mybatis:scan base-package="com.example.mapper"/> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 配置级缓存 --> <property name="configLocation" value="classpath:mybatis-config.xml"/> </bean> ``` 或者 ```properties mybatis.config-location=mybatis-config.xml ``` 2. **配置mybatis-config.xml** (XML配置) 或 `SqlSessionFactoryBuilderCustomizer` (Java配置) 中设置级缓存策略,如指定缓存类型(LRU、FIFO、WEAK等)、默认的TTL(超时时间)以及是否允许分布式缓存。 3. **在Mapper接口上声明缓存级别**: 可以在Mapper接口方法上使用`@Cacheable`, `@CacheEvict`或`@Caching`注解来控制哪些方法使用缓存。比如: ```java @Cacheable("productCache") List<Product> getProductById(int productId); ``` 4. **清理缓存**: 如果需要手动清空缓存,可以在Service层调用`SqlSession`的`clearCache()`方法。 5. **注意点**: - 缓存仅适用于无副作用的操作,即缓存的数据不会改变其他对象的状态。 - 分布式环境需额外配置,如使用Redis作为分布式缓存解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值