02 MyBatis & Druid

MyBatis

MyBatis 是灵活的 SQL 映射, 不想 Hibrnate 是纯的 ORM, 个人还是比较写 SQL 语句, 不喜欢纯的 ORM.

首先引入 Maven 依赖.

<!-- mybatis -->
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>1.3.2</version>
</dependency>
<!-- mysql -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
</dependency>

添加 mybatis 配置, 包括 DAO, Model, XML映射文件.

在 config 包下边创建一个 MybatisConfig.java

package com.example.demo.config;

import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

@Configuration
@MapperScan("com.example.demo.**.dao") // 扫描DAO
public class MybatisConfig {

    @Autowired
    private javax.sql.DataSource dataSource;

    @Bean
    public SqlSessionFactory sqlSessionFactory() throws Exception {
        SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        sessionFactory.setDataSource(dataSource);
        sessionFactory.setTypeAliasesPackage("com.example.demo.**.model");

        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        sessionFactory.setMapperLocations(resolver.getResources("classpath*:**/sqlmap/*.xml"));

        return sessionFactory.getObject();
    }
}

添加数据源, 在 application.yml 中

spring:
  datasource:
    driverClassName: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mysql
    username: root
    password: root

 

工具生成 Model, DAO, XML

Model = 数据库中的 entity, 也就是数据库中的表.

DAO = Mapper, 对数据库中的持久化操作, 与 XML 相对应. xml(写SQL语句, 有一个id), DAO 针对这个 id 有对应的方法.

Mybatis Generator 和 MyBatis Plus 都可以做到. 我这里边用 MyBatis Plus 来举例:

 

posted @ 2021-04-05 16:56  神之一招  阅读(111)  评论(0编辑  收藏  举报