MyBatis系列之环境搭建spring boot

数据库使用 Mysql

准备数据库

  1. 新建数据库:mydb
  2. 新建数据表:t_user,结构如下:
    在这里插入图片描述

添加依赖

<!-- mybatis依赖 -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.1</version>
</dependency>
<!-- mysql依赖 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

配置文件

这里使用 application.properties 文件。

<!--serverTimezone=UTC用于解决db和本地时间不匹配的问题-->
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
<!--解决中文乱码问题-->
spring.http.encoding.charset=utf-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
server.tomcat.uri-encoding=UTF-8
<!--配置sq mapper xml文件的路径-->
mybatis.mapper-locations=classpath:mappers/*.xml
<!--配置PO文件的全路径,为了在sql mapper xml文件中直接使用PO类,不需要写包名-->
mybatis.type-aliases-package=com.example.demomybatisspringboot.entity

备注:
mybatis.mapper-locations=classpath:mappers/*.xml
mybatis.type-aliases-package=com.example.demomybatisspringboot.entity
这两个路径,可以最后的项目结构截图

编写PO

package com.example.demomybatisspringboot.entity;

import lombok.Data;

@Data
public class UserPO
{
    private String id;
    private String code;
    private String name;
}

//没什么特殊的,注意该package必须匹配配置文件中的mybatis.type-aliases-package节点

编写Dao

package com.example.demomybatisspringboot.dao;

import com.example.demomybatisspringboot.entity.UserPO;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserDao
{
    UserPO getUser(String id);
}

  1. 注意添加注解@Mapper,Spring Boot会发现该注解,并根据包名去匹配sql xml mapper中的sql
  2. 另外接口名 getUser必须和sql xml mapper中<select id=“getUser" …一致
  3. package必须和sql xml mapper中的namespace一致

编写sql xml mapper

<mapper namespace="com.example.demomybatisspringboot.dao.UserDao">
    <select id="getUser" parameterType="String" resultType="UserPO">
        select * from t_user where id=#{id}
    </select>
</mapper>

注意上节说明的那几点即可。

最后编写Controller

@RestController
public class UserController
{
    private UserDao userDao;
    public UserController(UserDao dao) {
        userDao = dao;
    }

    @GetMapping("/info")
    UserPO getInfo() {
        UserPO po= userDao.getUser("1");
        return po;
    }
}

项目目录如下

项目目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值