SpringBoot专栏(三) -- SpingBoot集成MyBatis框架

本文详细介绍如何在SpringBoot2.0中集成MyBatis持久化框架,包括配置MyBatis依赖、设置数据库连接、自动生成代码及实现基本的CRUD操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决问题:

SpringBoot2.0集成MyBatis持久化框架?

 

本章基于SpringBoot专栏(二) -- 搭建第一个SpringBoot项目的代码

 

1. 导入依赖和修改Spring配置文件

1.1 在pom.xml中导入Mybatis第三方依赖和mysql数据库连接驱动包,如图:

 

1.2 修改SpringBoot配置文件

spring:
  profiles:
    active: dev
# 为SpringBoot添加数据源,包括url,username,password,数据库驱动名 datasource: url: jdbc:mysql:
//192.168.43.167:3306/mungerTest01 username: root password: Munger_123 driver-class-name: com.mysql.jdbc.Driver
# SpringBoot第三方依赖,mybatis的配置文件 mybatis: typeAliasesPackage: com.mungerz.dao mapperLocations: classpath:mapper
/*.xml

 

1.3 使用工具自动生成MyBatis持久代码

详情见博客:利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件

 

1.4 把代码放到SpringBoot项目中。 

添加业务代码:

ApiController.java

package com.mungerz.controller;

import com.mungerz.service.ApiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

// RestController注解:说明该类是一个Controller,并且参数和返回值都要求符合Restful要求(即Json字符串)
@RestController
// RequestMapping注解:Controller的类的映射地址。
@RequestMapping("/api")
public class ApiController {

    // Autowired自动注入注解:相当于new ApiService,不过这个工作是由Spring容器自己完成的。AutoWired可以注入Controller,Service,Component这几种类。
    @Autowired
    private ApiService apiService;

    // RequestMapping注解:方法的映射地址
    @RequestMapping("/info")
    public Map<String, Object> info(Map<String, Object> params){
        return apiService.info(params);
    }

    @RequestMapping("/insert")
    public Map<String, Object> insert(Map<String, Object> params){
        return apiService.insert(params);
    }
}

ApiService.java

package com.mungerz.service;

import java.util.Map;

// Service层接口
public interface ApiService {
    Map<String, Object> info(Map<String, Object> params);
    Map<String, Object> insert(Map<String, Object> params);
}

ApiServiceImpl.java

package com.mungerz.service;

import com.mungerz.dao.StudentMapper;
import com.mungerz.domain.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;

// Service注解:说明该类是一个Service类,从逻辑上我们可以知道这个类属于Service层,应该写业务逻辑;从功能上,这个类是可以通过Autowired注解注入的。
@Service
public class ApiServiceImpl implements ApiService {

   @Autowired
private StudentMapper studentMapper; @Override public Map<String, Object> info(Map<String, Object> params) { Map<String, Object> result = new HashMap<>(); result.put("result", "hello world"); return result; } public Map<String, Object> insert(Map<String, Object> params){ Student student = new Student(); student.setAge(25); student.setName("mungerz"); studentMapper.insert(student); Map<String, Object> result = new HashMap<>(); result.put("result", "insert ?"); return result; } }

StudentMapper.xml中的代码有改动:(因为表的主键是自增的,自动生成的默认需要传入自增主键)

  <insert id="insert" parameterType="com.mungerz.domain.Student">
    insert into student (name, age
      )
    values (#{name,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER}
      )
  </insert>

注意:文件目录中,mapper的目录是和application.xml中配置的路径对应的

 

1.4 测试(省略)

 

(转载请标明出处)

 

转载于:https://www.cnblogs.com/mungerz/p/10410923.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值