美文网首页
9、SpringBoot -集成mybatis

9、SpringBoot -集成mybatis

作者: 唯老 | 来源:发表于2019-09-18 00:08 被阅读0次

    一、导入相关包

       <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
                  <!--  mybatis.starter依赖-->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis.starter.version}</version>
            </dependency>
            <!--  lombok 工具包-->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid.starter.version}</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
            </dependency>
        </dependencies>
    

    二、配置文件

    spring:
      datasource:
        username: root
        password: root
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql///springboot?
        # 数据库连接池
        type: com.alibaba.druid.pool.DruidDataSource
        druid:
          #  最大连接池数量
          max-active: 20
          # 初始化连接池的数量
          initial-size: 5
          # 最小连接池 数量
          min-idle: 2
          # 这里建议配置为TRUE,防止取到的连接不可用
          test-on-borrow: true
          test-on-return: false
          # 验证连接有效与否的SQL,不同的数据配置不同
          validation-query: select
          #通过别名的方式配置扩展插件,常用的插件有:
          #监控统计用的filter:stat日志用的filter:log4j防御sql注入的filter:wall
          filters: stat,slf4j,wall
          #  配置获取连接等待超时的时间 单位毫秒
          max-wait: 6000
    # mybatis 配置
    mybatis:
      mapper-locations: classpath:mappers/*.xml
      type-aliases-package: com.vp.example.entity
      # settings 下的配置
      configuration:
         # 开启驼峰命名功能 其它的一些属性参考 mybatis-config.xml中的settings属性
         map-underscore-to-camel-case: true
    

    三、主程序入口类开启扫描

    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    @SpringBootApplication
    // @MapperScan("com.xxx.xxx.mapper")
    // 扫描多个包
    // @MapperScans({"com.xxx.xxx.mapper",""})
    @MapperScan("com.vp.example.mapper")
    public class ShiroApplication {
        public static void main(String[] args) {
            SpringApplication.run(ShiroApplication.class, args);
        }
    }
    

    四、核心代码

    1、建表sql

    CREATE TABLE test(
      tid INT AUTO_INCREMENT PRIMARY KEY ,
      title VARCHAR(100)
    )
    

    2、实体类

    @Data
    public class Test {
        public int tid;
        public String title;
    }
    

    3、UserMapper接口

    public interface TestMapper {
        int insert(Test record);
    }
    

    4、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.vp.example.mapper.TestMapper">
      <resultMap id="BaseResultMap" type="com.vp.example.entity.Test">
        <id column="tid" jdbcType="INTEGER" property="tid" />
        <result column="title" jdbcType="VARCHAR" property="title" />
      </resultMap>
      <insert id="insert" keyColumn="tid" keyProperty="tid" parameterType="com.vp.example.entity.Test" useGeneratedKeys="true">
        insert into test (title)
        values (#{title,jdbcType=VARCHAR})
      </insert>
    </mapper>
    

    5、测试

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class MapperTest {
        @Resource
        TestMapper testMapper;
        @Test
        public void insert() {
            TestBean bean = new TestBean();
            bean.setTitle("mybatis");
            testMapper.insert(bean);
        }
    }
    

    相关文章

      网友评论

          本文标题:9、SpringBoot -集成mybatis

          本文链接:https://www.haomeiwen.com/subject/oaftuctx.html