SpringBoot集成MyBatis

项目目录(以下只粘贴有用到的代码):

1.创建自己的数据库(跳过)

2.引入依赖包

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>

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

            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>

            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.0.4</version>
            </dependency>

            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.0.31</version>
            </dependency>
            
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.3.0</version>
            </dependency>

3.创建mybatis配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 进行Mybatis的相应的环境的属性定义 -->
    <settings>    <!-- 在本项目之中开启二级缓存 -->
        <setting name="cacheEnabled" value="true"/>
    </settings>
</configuration>

4.数据源整合(配置连接数据库的参数DataSource)

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource    # 配置当前要使用的数据源的操作类型
    driver-class-name: org.gjt.mm.mysql.Driver      # 配置MySQL的驱动程序类
    url: jdbc:mysql://localhost:3306/school           # 数据库连接地址
    username: root                                  # 数据库用户名
    password: alan                            # 数据库连接密码
    dbcp2:                                          # 进行数据库连接池的配置
      min-idle: 5                                   # 数据库连接池的最小维持连接数
      initial-size: 5                               # 初始化提供的连接数
      max-total: 5                                  # 最大的连接数
      max-wait-millis: 200                          # 等待连接获取的最大超时时间
mybatis:
  config-location: classpath:mybatis/mybatis.cfg.xml    # mybatis配置文件所在路径
  type-aliases-package: com.alan.springboot.entity            # 定义所有操作类的别名所在包
  mapper-locations: classpath*:mapper/*.xml      # 所有的mapper映射文件

5.创建一个entiry类

package com.alan.springboot.entity;

import java.util.Date;

public class Teacher {

    private String id;

    private String phone;

    private String idCard;

    private String password;

    private String name;

    private Integer age;

    private String sex;

    private String address;

    private String status;

    private Date createTime;

    //省略set,get方法   
}

6.创建Dao,XML,Mapper文件

<?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.alan.springboot.dao.TeacherMapper">
    <select id="selectByPrimaryKey" resultType="com.alan.springboot.entity.Teacher" parameterType="java.lang.String">
        SELECT * FROM teacher where id = #{id}
    </select>
</mapper>
package com.alan.springboot.dao;

import com.alan.springboot.entity.Teacher;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface TeacherMapper {
    Teacher selectByPrimaryKey(String id);
}

7.创建service以及serviceImp

package com.alan.springboot.service;

import com.alan.springboot.entity.Teacher;

public interface TeacherService {
    public Teacher selectByPrimaryKey(String id);
}
package com.alan.springboot.service.imp;

import com.alan.springboot.dao.TeacherMapper;
import com.alan.springboot.entity.Teacher;
import com.alan.springboot.service.TeacherService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service
public class teacherServiceImp implements TeacherService {

    @Resource
    private TeacherMapper teacherMapper;
    @Override
    public Teacher selectByPrimaryKey(String id) {
        return teacherMapper.selectByPrimaryKey(id);
    }
}

8.创建controller方法

package com.alan.springboot.controller;

import com.alan.springboot.entity.Teacher;
import com.alan.springboot.service.TeacherService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

@Controller
public class HelloController {
    @Resource
    private TeacherService teacherService;

    @RequestMapping(value = "/teacher")
    @ResponseBody
    public Teacher teacher(){
        return teacherService.selectByPrimaryKey("558409221087952896");
    }
}

9.展示结果

遇到404错误解决方法:

1.确定mapper中的namespace没有写错;

2.确定dao中的方法名与xml中的id是否一致,切参数与返回值一致;

3.确定Dao类名与XML文件名一致;

4.检查dao中的方法是否全部与xml中对应(如果xml中没有,则应该删掉);

5.检查mapper的配置路径

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值