当前位置: 首页 > wzjs >正文

有哪些可以做包装袋的网站自己怎么优化网站排名

有哪些可以做包装袋的网站,自己怎么优化网站排名,建设银行网站可以查询存折吗,页面设计层级一般控制()层在Java企业级应用开发中,SpringBoot和MyBatis的组合已经成为主流的技术选型方案之一。本文将详细介绍如何从零开始搭建一个基于SpringBoot和MyBatis的项目,包括环境配置、数据库设计、实体类创建、Mapper接口编写以及实际应用等完整流程。 一、环境准备…

在Java企业级应用开发中,SpringBoot和MyBatis的组合已经成为主流的技术选型方案之一。本文将详细介绍如何从零开始搭建一个基于SpringBoot和MyBatis的项目,包括环境配置、数据库设计、实体类创建、Mapper接口编写以及实际应用等完整流程。

一、环境准备

1.1 软件安装

首先需要安装以下软件:

  • MySQL 5.7:关系型数据库

  • Navicat:数据库可视化工具(可选但推荐)

安装MySQL时需要注意配置好root用户的密码,并确保服务正常启动。

1.2 数据库创建

我们创建一个名为black20250531的数据库,并建立用户表:

sql

复制

下载

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像',`nick` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '昵称',`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '用户名,登录用户名不能重复',`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '密码',`role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '角色',`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '电话',`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱验证码',`recharge` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '充值记录',`consume` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '消耗',`balance` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '余额',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `用户登录名称`(`name`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 110 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC;SET FOREIGN_KEY_CHECKS = 1;

表设计特点:

  • 使用utf8mb4字符集,支持完整的Unicode字符(包括emoji)

  • 主键id自增

  • 用户名name字段设置唯一索引

  • 包含基本的用户信息和财务相关字段

二、SpringBoot项目配置

2.1 引入MyBatis依赖

在pom.xml中添加MyBatis Starter依赖:

xml

复制

下载

运行

<!--mybatis-->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.3.0</version>
</dependency>

2.2 数据库连接配置

在application.properties中配置数据库连接:

properties

复制

下载

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# mysql host and user password
spring.datasource.url=jdbc:mysql://${host}:3306/black20250531?serverTimezone=GMT%2b8&allowMultiQueries=true&useAffectedRows=true
spring.datasource.username=root
spring.datasource.password=xxx
mybatis.mapper-locations=classpath:mapper/*.xml

配置说明:

  • 使用MySQL Connector/J驱动

  • 设置时区为GMT+8(中国标准时间)

  • 允许批量查询和使用受影响的行数

  • 指定Mapper XML文件的位置

三、实体类与Mapper设计

3.1 用户实体类

java

复制

下载

package com.black.pojo;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.black.service.PageService;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;import java.util.Date;
import java.util.List;@Data // 直接带get与set
public class User implements PageService {@TableId(type = IdType.AUTO)private Integer id;private String avatar;private String nick;private String name;private String password;private String code;private String phone;private String recharge = "0";private String consume = "0";private String balance; // 余额@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date createTime;private String role; // 角色@TableField(exist = false)private String newPassword;// 扣费成功标志@TableField(exist = false)private Boolean reduceFlag;//分页属性@TableField(exist = false)private Integer currentPage;@TableField(exist = false)private Integer pageSize;@TableField(exist = false)private Integer start;@TableField(exist = false)private Integer end;//批量删除id@TableField(exist = false)private List<Integer> removeIdList;@TableField(exist = false)private String token; // 会话凭证@TableField(exist = false)private List<Menu> menuList; // 用户拥有的菜单private String ability;
}

实体类特点:

  • 使用Lombok的@Data注解简化代码

  • 使用MyBatis Plus的@TableId指定自增主键

  • @TableField(exist = false)标记非数据库字段

  • @JsonFormat格式化日期输出

3.2 Mapper接口

java

复制

下载

package com.black.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.black.pojo.User;
import org.apache.ibatis.annotations.Param;import java.util.List;public interface UserMapper extends BaseMapper<User> { // 继承BaseMapper即拥有了CRUD基本方法
}

3.3 MyBatis配置类

java

复制

下载

package com.black.config;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
@MapperScan("com.black.mapper")
public class MybatisPlus {@Beanpublic MybatisPlusInterceptor buildMybatisPlusInterceptor() {MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return mybatisPlusInterceptor;}
}

配置说明:

  • @MapperScan指定Mapper接口扫描路径

  • 配置MyBatis Plus分页插件

四、实际应用示例

在Controller中使用Mapper进行数据库操作:

java

复制

下载

@RestController
@RequestMapping("/big")
public class BigController {@ResourceUserMapper userMapper;@PostMapping("/checkUser")public Res checkUser(@RequestBody User user) {QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();userQueryWrapper.eq(StringUtils.isNotBlank(user.getName()), "name", user.getName());User existUser = userMapper.selectOne(userQueryWrapper);if (existUser != null) {return Res.error("用户名已存在");}return Res.success();}
}

代码解析:

  1. 使用@Resource注入UserMapper

  2. 创建QueryWrapper构建查询条件

  3. 调用selectOne方法查询单个用户

  4. 根据查询结果返回相应信息

五、MyBatis Plus的优势

  1. 简化CRUD操作:继承BaseMapper即获得基本CRUD方法

  2. 强大的条件构造器:通过QueryWrapper可以方便地构建复杂查询条件

  3. 分页插件:内置分页功能,简化分页查询实现

  4. 自动填充:支持字段自动填充(如创建时间、更新时间等)

  5. 乐观锁:内置乐观锁实现

六、常见问题解决

  1. 数据库连接失败

    • 检查MySQL服务是否启动

    • 检查连接URL、用户名和密码是否正确

    • 检查数据库驱动版本是否匹配

  2. 表字段与实体类属性映射问题

    • 确保数据库字段名与实体类属性名一致(或使用@TableField指定)

    • 检查是否配置了正确的驼峰命名转换

  3. 分页不生效

    • 确保配置了分页插件

    • 检查是否传入了正确的Page参数

七、总结

本文详细介绍了SpringBoot整合MyBatis的完整流程,从环境准备到实际应用,涵盖了数据库设计、实体类创建、Mapper接口编写以及基本CRUD操作。MyBatis Plus作为MyBatis的增强工具,可以显著提高开发效率,减少样板代码的编写。

在实际项目中,还可以进一步探索:

  • MyBatis Plus的自动填充功能

  • 多数据源配置

  • 复杂的动态SQL构建

  • 二级缓存配置等高级特性

http://www.dtcms.com/wzjs/272067.html

相关文章:

  • 山东济南最新疫情爆发百度seo优化按年收费
  • 大厂县网站建设或SEO优化网络建设推广
  • flash网站后台关键词分析软件
  • 招聘网站做精准 置顶重庆百度关键词优化软件
  • 网站大全网站免费广告最多的网站
  • 做电脑系统哪个网站下载应用商店
  • 哪家网站推广好整合营销什么意思
  • 专业团队值得信赖商品seo优化是什么意思
  • 如何做企业网站优化常州网站建设优化
  • 商城网站建设排名靠前一键关键词优化
  • 大悟建设局网站武汉百度快速排名提升
  • 公司长沙建站手机优化专家
  • 汕头网站开发郑州seo顾问热狗
  • 视频网页设计毕业论文白云百度seo公司
  • 电商网站开发的现状网络营销策划创意案例点评
  • 中国做室内设计的网站广州谷歌seo
  • 制定网络营销方案的步骤seo免费优化网址软件
  • 手机网站自助建站系统爱站网长尾关键词搜索
  • 哪里有零基础网站建设教学服务谷歌seo靠谱吗
  • 网站制作公司成都济宁seo公司
  • 做微网站公司名称网络营销主要做些什么
  • 网站服务器怎么配太原高级seo主管
  • 销售手机网站的后期安排下载百度免费版
  • 合肥网站建设多少钱网络营销推广方案怎么写
  • 做的网站被公安局查处信息流优化师招聘
  • 如何给别人做网站赚钱怎么建立一个公司的网站
  • 最好的手表网站怎么做公司网站推广
  • 江苏省水利工程建设局网站厦门seo优化公司
  • 照片管理网站模板最新疫情最新消息
  • wordpress url汉字seo建站技术