springboot整合mybatis+mybatis-plus,附源码地址

本文介绍了Mybatis-Plus在Java项目中的应用,展示了如何快速实现用户和标签CRUD操作,以及项目中引入该工具的优势和遇到的挑战。通过对比传统代码和Mybatis-Plus,突出了其简化开发的重要性。
摘要由CSDN通过智能技术生成

前言

源码地址在最底下,各位可自取

现在搞java的都知道mybatis-plus这个神器了吧?能解决很多curd功能,超快,用的超爽。

题外话:

之前上一家公司我说这是个神器的时候我想引进去,项目组负责人说”本来就是很简单的代码,干嘛还要工具依赖,多此一举“。原话 我一个字没改!当时我看他的意思和表情,他自己不想学,我也随便了。其实内心里很bs他!现在在的公司就在用这个东西(当时心里想还好没白学,还好多学了点东西)。只能说贼爽,很多时候可以不用为一些小而简单的功能加班。

程序员还是应该多学习,才能不被内卷而出局。

特此记录一下,可以给未来复习也好,有朋友学习也好。

开始

项目结构
在这里插入图片描述

sql表

/* 用户表 */
CREATE TABLE IF NOT EXISTS t_user
(
	id 		VARCHAR(32) NOT NULL COMMENT '用户id	',			/* 主键,用户id			*/
	userName 	 VARCHAR(64) NOT NULL COMMENT '账号名',			/* 账号名				*/
	password VARCHAR(64) NOT NULL COMMENT '密码',				/* 密码(加密后)			*/
	personName VARCHAR(32) DEFAULT '' COMMENT '账号使用者',		/* 账号使用者名称		*/
	idNumber VARCHAR(32) DEFAULT '' COMMENT '证件号码',			/* 证件号码				*/
	telphone VARCHAR(32) DEFAULT '' COMMENT '联系号码',			/* 联系号码				*/
	loginWay TINYINT DEFAULT 0 COMMENT '登录方式',				/* 登录方式				*/
	score   FLOAT   DEFAULT 5 COMMENT '用户评分',                 /* 用户评分				*/
	enabled TINYINT DEFAULT 1 COMMENT '是否认证启用',				/* 是否启用				*/
	expired TINYINT DEFAULT 0 COMMENT '是否失效',				/* 是否失效 			*/
	locked 	TINYINT DEFAULT 0 COMMENT '是否锁定',				/* 是否锁定 			*/
	createTime datetime default now() COMMENT '创建时间',        /* 创建时间 			*/
	PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息 ';
/** 标签表 */
create table t_label(
	id 		VARCHAR(32) NOT NULL COMMENT '用户id	',			/* 主键,用户id			*/
	labelName  VARCHAR(32) NOT NULL COMMENT '标签名称	',		/* 标签名称,标签名称 */
	labelName  VARCHAR(32) NOT NULL COMMENT '备注'			/* 备注,备注			*/
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='标签表';

依赖:pom.xml

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

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <!-- mybatis plus 代码生成器 -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.2.0</version>
    </dependency>
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
        <version>3.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-typehandlers-jsr310</artifactId>
        <version>1.0.2</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-freemarker</artifactId>
    </dependency>
    <!-- 阿里巴巴druid数据库连接池 -->
    <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.21</version>
    </dependency>

    <!-- 阿里巴巴json序列化反序列化 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.46</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
	<!-- lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

配置文件:application.yml

server:
  port: 8001

spring:
  datasource:
    name: house
    url: jdbc:mysql://127.0.0.1:3306/house?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
    username: root
    password:
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
  mapper-locations: classpath:mapper/*Mapper.xml
  type-aliases-package: com.study.pojo
  configuration:
    cache-enabled: true #缓存
    # log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: false # 配置返回数据库(column下划线命名&&返回java实体是驼峰命名),自动匹配无需as(没开启这个,SQL需要写as: select user_id as userId)
  global-config:
    db-column-underline: false # 驼峰下划线转换
    # 主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 1
    #机器 ID 部分(影响雪花ID)
    workerId: 1
    # 数据标识 ID 部分(影响雪花ID)(workerId 和 datacenterId 一起配置才能重新初始化 Sequence)
    datacenterId: 18

# PageHelper分页插件
pagehelper:
  helperDialect: mysql
  reasonable: true
  # 不建议启用,要用分页自行添加:PageHelper.startPage(pageNum,PageSize)
  supportMethodsArguments: false
  params: count=countSql

看效果

t_label是用mybatis写得:
在这里插入图片描述

在这里插入图片描述

t_user是用mybatis-plus写的:
在这里插入图片描述

在这里插入图片描述

看控制台打印有什么不同

在这里插入图片描述

源码地址<码云>:https://gitee.com/tangwenjun-ios_admin/a-study.git

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
很抱歉,我无法提供免费源码。但是,我可以向您提供一些指导,以帮助您开始开发一个基于Vue2、Element Plus、Spring BootMyBatis和MySQL的商城。 首先,您可以按照以下步骤进行开发: 1. 设置环境:确保您的开发环境中已经安装了Node.js、Vue CLI和Java开发环境。 2. 创建Vue项目:使用Vue CLI创建一个新的Vue项目,可以选择Vue2版本。 3. 集成Element Plus:按照Element Plus的文档,将它集成到您的Vue项目中。Element Plus是一套基于Element UI的扩展组件库,用于构建后台管理系统。 4. 设计页面:根据您的商城需求,设计和创建各个页面,包括首页、商品列表、商品详情、购物车、订单等。 5. 定义API:根据您的后端需求,设计并定义与后端交互的API接口。可以使用Spring Boot创建后端应用程序,并使用MyBatis进行数据库访问。 6. 实现前后端交互:在前端项目中,使用Axios或Fetch等工具发送HTTP请求,与后端API进行交互并获取数据。 7. 数据库设计:根据商城需求,设计数据库表结构,并使用MySQL进行建表和数据存储。 8. 实现业务逻辑:根据商城需求,实现各种业务逻辑,例如用户注册、登录、商品展示、购物车管理、订单生成等。 9. 测试和调试:在开发过程中,进行适当的测试和调试,确保功能的正常运行。 10. 部署和上线:完成开发后,可以将前端和后端分别部署到合适的服务器上,并进行线上测试和上线。 这些是一个基本的开发流程,您可以根据具体需求进行调整和扩展。希望这些指导对您有所帮助!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值