MyBatis+Plus 接触案例(实现登录功能)

MyBatis + Plus 的这个系列, 我将把一些快速案例列出, 做好笔记,  以便能够快速回忆.

1. 项目的创建和基础设置

        1. 1  Spring Initializr项目的创建

 

 

 


这部分的知识, 构建项目本身的一些操作, 基础配置, 可能比知识点本身更重要. 


        1.2  依赖

<!-- MyBatisPlus依赖-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.1</version>
</dependency>
<!--LomBok依赖-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId> <optional>true</optional>
</dependency>
<!--mysql依赖-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

        1.3  文件夹结构

java文件中包含  demo  和  resources  两个文件;

具体的java文件, 都包含在demo之中再去分包儿;

resources包中包含一个mappers 包, 用来放xml文件. xml文件中装的是sql语句; 

resources 包中还需要一个 application.yml文件, 用来进行数据库的连接配置 / 端口号配置;

      1.4 application.xml 文件的设置

        设置datasource 数据库源,

        需要设置mybatis, 实现mappers.xml文件与主程序的连接;

        也可以设置端口号;

spring:
  # 配置数据源信息
  datasource:
    # 配置数据源类型
    type: com.zaxxer.hikari.HikariDataSource
    # 配置连接数据库信息
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test1114?characterEncoding=utf-8&useSSL=false
    username: root
    password: 123456

#mybatisPlus相关配置
mybatis-plus:
  mapper-locations: classpath:mappers/*.xml

#设置端口号
server:
  port: 8088

        1.5 主类(启动类)的配置

@SpringBootApplication
@MapperScan("demo.dao")
public class Demo {

    public static void main(String[] args){
        SpringApplication.run(Demo.class,args);

    }
}

@MapperScan("")  扫描demo文件夹内的dao文件夹, 获取里面的数据

2. 简单案例:  模拟实现登录功能

需求:  能够通过向方法传参, 返回登录是否成功的信息 , 数据存MySQL数据库;

        2.1   创建实体类, 与数据库表建立关联

package demo.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data //生成Get和Set方法,重写toString
@AllArgsConstructor //生成有参构造器
@NoArgsConstructor //生成无参构造器
@TableName("t_user") //设置表名
public class User {
    @TableId //指定主键id
    private Long id;

    private String userName;
    private String passwd;
}

实体类的属性之上可以添加下面标签, 来建立"数据库属性 - 实体类属性"之间的连接;

@TableField("user_name") 位置: 实体类中属性上方; 功能: 属性与数据库表格相连接 , 指定对应属性, 用来解决名称不统一的问题  

        2.2  创建dao, 继承BaseMapper

package demo.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import demo.entity.User;

public interface UserDAO extends BaseMapper<User> {
    public User login(String userName,String password);
}

        2.3  创建UserMapper.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="demo.dao.UserDAO">

    <select id="login" resultType="demo.entity.User">
        select * from t_user where user_name=#{userName} and passwd=#{passwd}
    </select>
</mapper>

        2.4  在controller中实现具体功能


@RequestMapping("/login")
public String login(String userName, String passwd){
    
    User u = dao.login(userName, passwd);
    if(u != null){
        return "登录成功";
    } else {
        return "登录失败";
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值