SpringBoot学习-支持MyBaties

来源:互联网 发布:创意域名知乎 编辑:程序博客网 时间:2024/06/06 01:08

上一篇是简单配置了一下SpringBoot前端的页面的支持,现在看看后端服务器与数据库的交互。

首先,没的说,一定是jar引入和数据源设置,这里使用的是Hikari连接工具,有兴趣的用户可以自行百度看看

maven:

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.34</version></dependency><dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId><!-- 版本号可以不用指定,Spring Boot会选用合适的版本 --></dependency><!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.1</version></dependency>

application.properties:

#数据库连接信息spring.datasource.type=com.zaxxer.hikari.HikariDataSourcespring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.jdbc.Driver

然后创建目录结构


注意一下,xml的映射文件需要放在resource目录下才能被识别

在启动类中加上mapper所在的包扫描注解


创建实体类Demo.java

package com.example.demo.entry;public class Demo {    private Long id;    private String name;    private String des;    public Long getId() {        return id;    }    public void setId(Long id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getDes() {        return des;    }    public void setDes(String des) {        this.des = des;    }}

实体类对应的表格和数据也应被创建

创建Dao层Mapper接口

package com.example.demo.mapper;import com.example.demo.entry.Demo;public interface TestMapper {    Demo getOne(Long id);}

application.properties中设置xml目录地址

#Mybatis Mapper映射文件地址mybatis.mapper-locations=classpath:mapXml/*.xml

创建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.example.demo.mapper.TestMapper">    <resultMap id="BaseResultMap" type="com.example.demo.entry.Demo" >        <id column="id" property="id" jdbcType="BIGINT" />        <result column="name" property="name" jdbcType="VARCHAR" />        <result column="des" property="des" jdbcType="VARCHAR" />    </resultMap>    <sql id="Base_Column_List" >        id, name, des    </sql>    <select id="getOne" parameterType="java.lang.Long" resultMap="BaseResultMap" >        SELECT        <include refid="Base_Column_List" />        FROM demo        WHERE id = #{id}    </select></mapper>

最后,创建一个Controller测试方法查看测试结果


测试结果: