Springboot集成mybaits框架

本文介绍了如何在SpringBoot项目中集成Mybatis,包括配置数据库连接、设置Mybatis配置、创建DAO接口和Mapper XML文件,以及编写Controller进行测试。通过实例展示了Mybatis简化JDBC操作的过程。

首先在新建项目的时候,选择勾选sql相关组件,也可以后期手动添加

勾选组件如下图,本项目采用的mysql数据库,因此勾选mysql连接库,然后就是勾选mybatis框架

mybaits结合Springboot大大的减轻了JDBC的操作繁琐

开发工具IDEA2020版本

File-New- Project

在application.properties配置文件中开启数据库连接,并且添加mybatis相关配置

#mysql连接配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mytest? 
characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai 
spring.datasource.username=root 
spring.datasource.password=root
#配置mybatis编写sql所在的xml文件所在的路径,在采用xml编写sql的时候必须配置
mybatis.mapper-locations=classpath*:/dao/*.xml
#开启自动驼峰转换
mybatis.configuration.map-underscore-to-camel-case=true
#允许使用方法签名中的名称作为语句参数名称。 为了使用该特性,你的项目必须采用 Java 8 编译,并且 加上 -parameters 选项。(新增于 3.4.1)
mybatis.configuration.use-actual-param-name=true

jdbc:mysql协议,172.0.0.1是IP,3306默认端口, live数据库,characterEncoding=utf8编码,useSSL=false套接绳链接,serverTimezone=Asia/Shanghai时钟时区(mysql5.7以上必须加)

在项目根包名下(可以是子集但是不能在根包名外面),新建一个专门存放数据库接口的包,并且在里面编写一个interface

这里在项目根包名下新建了一个dao的包名,并且在里面新建了一个UserDao的接(Interface)UserDao代码如下:

package com.spring.mebatistdemo.dao;


import com.spring.mebatistdemo.model.User;

public interface UserDao {
    User findUserByUsernameAndPassword(String username, String password);
}

在resource目录下新建一个mapper的路径(与之前配置文件中配置的路径保持一致),编写mybatis的sql对应的xml文件

非Java文件放在resources classpath

比如这里编写一个UserDao.xml,xml文件名随意(最好与java中的dao接口名保持一致,方便阅读),代码如下:

<?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.spring.mebatistdemo.dao.UserDao">
    <select id="findUserByUsernameAndPassword"
            resultType="com.spring.mebatistdemo.model.User">select * from user where username = #{username} and password = #{password} </select>
</mapper>

数据库操作封装到一个包里面(比如创建一个dao包)

在到包里面创建一个操作数据库的接口

New Java Class->Interface

写自己需要的业务

创建一个存载实体类的包(model)

package com.spring.mebatistdemo.model;

public class User {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

4.最后写个Controller测试

package com.spring.mebatistdemo.controller;

import com.spring.mebatistdemo.dao.UserDao;
import com.spring.mebatistdemo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserContronller {
    @Autowired
    UserDao userDao;

    @RequestMapping("/login")
    public User login(String username, String password){
        User user = userDao.findUserByUsernameAndPassword(username,password);
        if(user!=null){
            System.out.println("登录成功");
            return user;
        }
        System.out.println("用户或密码错误");
        return null;
    }
}

浏览器运行结果如下图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值