springboot整合mybatis

springboot 专栏收录该内容
4 篇文章 0 订阅

废话不多说,开始搭建
在这里插入图片描述

选择依赖

在这里插入图片描述
看一下生成的目录结构
在这里插入图片描述
我们选择简洁的yml配置文件,把原来的application.properties删除,新建一个application.yml 和application-dev.yml

application.yml

spring:
  profiles:
    active: dev

application-dev.yml

#配置端口
server:
  port: 8080

spring:
  datasource:
    username: root
    password: dkx666
    url: jdbc:mysql://localhost:3306/test_spring?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver

mybatis:
  mapper-locations: classpath:mapping/*Mapper.xml       #mybatis的映射文件路径
  type-aliases-package: com.example.domain              #对应的实体类路径

#showSql
logging:
  level:
    com:
      example:
        mapper : debug

建数据库

CREATE TABLE `account` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(40) DEFAULT NULL,
  `money` float DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

建包
在这里插入图片描述
编写实体类
在这里插入图片描述编写AccountController

package cn.sn.controller;

import cn.sn.service.AccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 账户控制层
 */

@Controller
@RequestMapping("/account")
public class AccountController {

    @Autowired
    private AccountService accountService;

    @ResponseBody
    @RequestMapping("/findById/{id}")
    public String findById(@PathVariable("id") Integer id){
        return accountService.selectById(id).toString();
    }
}

编写service接口

package cn.sn.service;
import cn.sn.domain.Account;

public interface AccountService {

    /**
     * 通过id查询账户信息
     * @param id
     * @return
     */
    Account selectById(Integer id);
}

编写serviceImpl

package cn.sn.service.impl;

import cn.sn.dao.AccountDao;
import cn.sn.domain.Account;
import cn.sn.service.AccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class AccountServiceImpl implements AccountService {

    @Autowired
    private AccountDao accountDao;

    @Override
    public Account selectById(Integer id) {
        return accountDao.selectById(id);
    }
}

编写dao层,AccountDao接口

package cn.sn.dao;

import cn.sn.domain.Account;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

@Mapper
@Repository
public interface AccountDao {

    Account selectById(Integer id);
}

在mapping这个文件下编写AccountMapper.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="cn.sn.dao.AccountDao">

    <select id="selectById" resultType="Account" parameterType="Integer" >
        select * from account where id = #{id}
    </select>

</mapper>

代码编写完成,测试一哈
在这里插入图片描述在浏览器里输入
在这里插入图片描述ok,测试成功
注:这里我们使用的是springboot内置的连接池,据说性能非常牛逼。如果需要其他连接池可自行配置。
在这里插入图片描述小白的成长日记,大佬勿喷

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

只有时光最懂我

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值