SpringBoot使用Mybatis教程

新建SpringBoot项目

本文所使用的代码编辑器为IntelliJ IDEA,这里简单介绍一下如何使用IDEA新建一个SpringBoot项目。
File—>New—>Project—>Spring Initializr
在这里插入图片描述

选择JDK版本,点击Next
在这里插入图片描述
输入项目包名,选择语言,打包方式,java版本,版本号等,点击Next
在这里插入图片描述
后面会使用mybatis,所以这里选择MyBatis Framework依赖,其他依赖项可以根据自己的项目需要选择,当然,这里也可以什么也不选择,后面再pom.xml文件中来添加。至此,一个基础的SpringBoot项目就搭建好了。

引入mybatis依赖

如果在新建项目的时候选择了mybatis依赖可直接跳过此步骤。
在这里插入图片描述
打开pom文件加入以下依赖

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

如何使用mybatis?

1.配置mybatis
①.数据库配置

数据库相关配置,包括数据库地址、用户名、数据库密码等。
在这里插入图片描述
打开resources文件夹下的application.properties文件,初始时此文件为空,在此处配合数据库地址、用户名、密码、编码方式、时区等,如上所示。

②.mybatis相关配置

在这里插入图片描述

A处为配置数据库表对应JavaBean中的实体包路径和对应的mapper文件路径
在这里插入图片描述
此处必须配置MapperScan,否则不能使用,关于mapper的使用后面会说到。到这里相关的配置项差不多已经完成了,可以开始使用mybatis了。

2.使用mybatis
①.创建JavaBean

新建数据库表需要映射到java文件的类,注意:这里的所有类都必须建立在之前所指定的com.example.demo.dao.entity 包下。

package com.example.demo.dao.entity;

import java.util.Date;

public class Person {
    /**
     * 主键
     */
    private String personId;
    /**
     * 姓名
     */
    private String name;
    /**
     *年龄
     */
    private Integer age;
    /**
     *生日
     */
    private Date birthDay;
    /**
     *爱好
     */
    private String hobby;

    public String getPersonId() {
        return personId;
    }

    public void setPersonId(String personId) {
        this.personId = personId;
    }

    public String getName() {
        return name;
    }

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

    public Integer getAge() {
        return age;
    }

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

    public Date getBirthDay() {
        return birthDay;
    }

    public void setBirthDay(Date birthDay) {
        this.birthDay = birthDay;
    }

    public String getHobby() {
        return hobby;
    }

    public void setHobby(String hobby) {
        this.hobby = hobby;
    }
}

②.创建mapper

mapper对应数据库中增删改查的操作,mapper的使用有两种方式,一:不使用xml直接在mapper.java文件中使用注解完成;二:使用xml方式。

1).使用注解方式
package com.example.demo.dao.mapper;

import com.example.demo.dao.entity.Person;
import org.apache.ibatis.annotations.*;

import java.util.Date;

public interface PersonMapper {
    /**
     * 增
     *
     * @param person
     */
    @Insert("INSERT INTO person(PERSON_ID,NAME,AGE,BIRTH_DAY,HOBBY) VALUES(" +
            "#{personId}, #{name}, #{age},#{birthDay}, #{hobby})")
    void addPerson(Person person);

    /**
     * 删
     *
     * @param personId
     */
    @Delete("DELETE FROM person WHERE PERSON_ID=#{personId}")
    void deletePerson(String personId);

    /**
     * 改
     *
     * @param person
     */
    @Update("UPDATE person SET NAME = #{name},AGE = #{age},BIRTH_DAY = #{birthDay},HOBBY = #{hobby} WHERE PERSON_ID = #{personId}")
    void updatePerson(Person person);

    /**
     * 查
     *
     * @param personId
     * @return
     */
    @Select("SELECT * FROM person WHERE PERSON_ID = #{personId}")
    @Results(
            {
                    @Result(property = "personId", column = "PERSON_ID"),
                    @Result(property = "name", column = "NAME"),
                    @Result(property = "age", column = "AGE"),
                    @Result(property = "birthDay", column = "BIRTH_DAY", javaType = Date.class),
                    @Result(property = "hobby", column = "HOBBY")
            }
    )
    Person queryPerson(String personId);
}

使用注解方法可以直接调用此接口实现增删改查不用创建xml,就是代码看起来不太简洁。

2).使用xml方式

1、新建mapper.java文件

package com.example.demo.dao.mapper;

import com.example.demo.dao.entity.Person;

public interface PersonMapperByXml {
    /**
     * 增
     *
     * @param person
     */
    void addPerson(Person person);

    /**
     * 删
     *
     * @param personId
     */
    void deletePerson(String personId);

    /**
     * 改
     *
     * @param person
     */
    void updatePerson(Person person);

    /**
     * 查
     *
     * @param personId
     * @return
     */
    Person queryPerson(String personId);
}

2、创建mapper.xml文件
注意xml文件必须建立在上文配置中指定的文件夹下且必须和mapper.java文件同名。

<?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.mapper.PersonMapperByXml">
    <resultMap id="PersonMap" type="com.example.demo.dao.entity.Person">
        <result column="PERSON_ID" property="personId"/>
        <result column="NAME" property="name"/>
        <result column="AGE" property="age"/>
        <result column="BIRTH_DAY" property="birthDay" javaType="Date"/>
        <result column="HOBBY" property="hobby"/>
    </resultMap>
    <insert id="addPerson" parameterType="com.example.demo.dao.entity.Person"
            statementType="CALLABLE">
        insert into person(PERSON_ID, NAME, AGE, BIRTH_DAY, HOBBY)
        values (#{personId}, #{name}, #{age}, #{birthDay}, #{hobby})
    </insert>
    <delete id="deletePerson" parameterType="String" statementType="CALLABLE">
        delete
        from person
        where PERSON_ID = #{personId}
    </delete>
    <update id="updatePerson" parameterType="com.example.demo.dao.entity.Person" statementType="CALLABLE">
        update person
        set NAME      = #{name},
            AGE       = #{age},
            BIRTH_DAY = #{birthDay},
            HOBBY     = #{hobby}
        where PERSON_ID = #{personId}
    </update>

    <select id="queryPerson" parameterType="String" resultMap="PersonMap">
        select *
        from person
        where PERSON_ID = #{personId}
    </select>
</mapper>

注意:id对应mapper.java文件中的方法名,parameterType为方法输入参数类型。

③.调用
package com.example.demo.controller;

import com.example.demo.dao.entity.Person;
import com.example.demo.dao.mapper.PersonMapper;
import com.example.demo.dao.mapper.PersonMapperByXml;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;

@RestController
public class DemoController {

    @Autowired
    private PersonMapperByXml personMapperByXml;

    @Autowired
    private PersonMapper personMapper;

    @RequestMapping(value = "/addPerson", method = RequestMethod.GET)
    public void addPerson() {
        Person person = new Person();
        person.setPersonId("11111111111111111");
        person.setName("张三");
        person.setAge(20);
        person.setBirthDay(new Date());
        person.setHobby("画画");

        personMapper.addPerson(person);
        //  personMapperByXml.addPerson(person);
    }

    @RequestMapping(value = "/deletePerson", method = RequestMethod.GET)
    public void deletePerson() {
        personMapper.deletePerson("11111111111111111");
        // personMapperByXml.deletePerson("11111111111111111");
    }

    @RequestMapping(value = "/queryPerson", method = RequestMethod.GET)
    public void queryPerson() {
        Person person = personMapper.queryPerson("11111111111111111");
        System.out.println(person.getName());
    }

    @RequestMapping(value = "/updatePerson", method = RequestMethod.GET)
    public void updatePerson() {
        Person person = personMapper.queryPerson("11111111111111111");
        System.out.println(person.getName());

        person.setName(person.getName() + "A");
        personMapperByXml.updatePerson(person);
    }
}

最后附上Demo下载链接

  • 9
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot使用MyBatis可以通过以下步骤实现: 1. 添加MyBatisMyBatis-Spring依赖 在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> ``` 2. 配置数据源 在application.properties文件中配置数据源信息,例如: ``` spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false spring.datasource.username=root spring.datasource.password=root ``` 3. 配置MyBatis 在application.properties文件中配置MyBatis相关信息,例如: ``` mybatis.mapper-locations=classpath:mapper/*.xml mybatis.type-aliases-package=com.example.demo.entity ``` 4. 创建Mapper接口 创建Mapper接口,例如: ``` public interface UserMapper { User selectUserById(Integer id); } ``` 5. 创建Mapper XML文件 在resources/mapper目录下创建Mapper XML文件,例如: ``` <?xml version="1." encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserMapper"> <select id="selectUserById" resultType="com.example.demo.entity.User"> select * from user where id = #{id} </select> </mapper> ``` 6. 注入Mapper接口 在需要使用Mapper接口的地方注入Mapper接口,例如: ``` @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User getUserById(Integer id) { return userMapper.selectUserById(id); } } ``` 以上就是在Spring Boot使用MyBatis的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值