Spring boot整合mybatis

网站介绍:

Mybatis官网教程:http://www.mybatis.org/mybatis-3/zh/index.html

Mybatis整合spring-boot官网教程:http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/

Mybatis支持技术教程:http://blog.mybatis.org/p/products.html

本节内容:

         本节主要介绍如何在spring boot中集成MyBatis框架,通过MyBatis的基础操作实现MYSQL数据库的CRUD(增删查改)功能。

 

什么是Mybatis?

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

 

快速构建Spring-boot项目

快速构建spring-boot项目https://blog.csdn.net/sinat_32366329/article/details/82764483

注:还不知道如何构建spring-boot项目的可以参考本人之前发表的博客,有详细介绍。

 

项目结构

项目源码

https://github.com/superRabbitMan/spring-boot-mybatis

POM.XML配置

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--mybatis 和 spring-boot 包-->
    <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>
        <version>5.1.47</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

application.properties配置属性

spring-boot官方属性参考网站(Part X. Appendices目录)https://docs.spring.io/spring-boot/docs/2.1.2.RELEASE/reference/htmlsingle/

mybatis属性配置官方网站(Configuration目录):http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/  

#配置mysql数据库资源信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#配置mybatis信息
mybatis.mapper-locations=classpath: /mappers/*Mapper.xml
mybatis.type-aliases-package=com.example.demo.dao

数据库表SQL

CREATE TABLE `user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `age` int(11) DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

实体类

public class User {

    private String id;

    private String name;

    private int age;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

Dao

@Mapper//该注解作用是mybatis根据接口和Mapper.xml中的配置文件创建实现
public interface UserMapper {

    void insert(@Param("user") User user);

    void delete(@Param("id") String id);

    User get(@Param("id") String id);

}

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.dao.UserMapper">

    <resultMap id="BaseResultMap" type="com.example.demo.entity.User">
        <id column="id" property="id" />
        <result column="name" property="name" />
        <result column="age" property="age" />
    </resultMap>

    <insert id="insert">
        insert into user(name, age) value(#{user.name }, #{user.age })
    </insert>

    <delete id="delete">
        delete from user where id = #{id }
    </delete>

    <select id="get" resultMap="BaseResultMap">
        select * from user where id = #{id }
    </select>

</mapper>

测试

使用test.java.com.example.demo包下自带的测试类进行测试

@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootMybatisApplicationTests {

    @Resource
    private UserMapper userMapper;

    @Test
    public void contextLoads() {
        User user = new User();
        user.setName("rabbit鲜森");
        user.setAge(20);
        userMapper.insert(user);
    }

}

测试结果

关注微信公众号(程序员小兔)不定期分享技术

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie
应支付0元
点击重新获取
扫码支付

支付成功即可阅读