Spring boot(五)

来源:互联网 发布:模仿艺人语音软件 编辑:程序博客网 时间:2024/05/17 04:56

1.在spring boot中应用mybatis

  • mybatis简介

    MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的
    POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录

  • Mybatis的功能架构分为三层

1) API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
2) 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
3) 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。

这里写图片描述

下面介绍如何在spring boot中应用mybatis

1.1.pom.xml配置

<!-- mysql -->        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>        </dependency>        <!-- mybatis -->        <dependency>            <groupId>org.mybatis.spring.boot</groupId>            <artifactId>mybatis-spring-boot-starter</artifactId>            <version>1.1.1</version>        </dependency>        <!-- 数据库连接池 -->        <dependency>            <groupId>com.alibaba</groupId>            <artifactId>druid</artifactId>            <version>1.0.5</version>        </dependency>

druid:阿里巴巴的数据源
mysql-connector-java:mysql连接jar,scope为runtime
mybatis + mybatis-spring:mybatis相关jar

1.2.yml配置

# db 配置  datasource:    driver-class-name: com.mysql.jdbc.Driver    url: 数据库url    username: 数据库用户名    password: 数据库密码    type: com.alibaba.druid.pool.DruidDataSource    minIdle: 1    maxActive: 2    initialSize: 1    timeBetweenEvictionRunsMillis: 3000    minEvictableIdleTimeMillis: 300000    validationQuery: SELECT 'ZTM' FROM DUAL    testWhileIdle: true    testOnBorrow: false    testOnReturn: falsemybatis:#mybatis的xml配置文件  mapperLocations: classpath*:mapper/*.xml#mybatis对应的实体所在目录(简化对象实体名称)  typeAliasesPackage: com.molly.model

1.3.Test实体

public class Test {    private Integer id;    private String name;    @Override    public String toString() {        return "Test{" +                "id=" + id +                ", name='" + name + '\'' +                '}';    }    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }}

1.4.mybatis mapper.java

@Mapperpublic interface TestMapper {    List<Test> queryAll();}

1.5.mybatis mapper.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.molly.mapper.TestMapper" >    <select id="queryAll" resultType="Test">        select * from test    </select></mapper>

1.6.controller

    @Autowired    private TestMapper testMapper;    @PostMapping(value = "/persons/query")    public List<Test>  testInsert(){        List<Test> list = testMapper.queryAll();       return list;    }

结果
这里写图片描述

0 0