MyBatis-Plus 安装与学习记录及总结

MyBatis-Plus 安装与学习记录及总结(详细版)

目录
  1. 安装过程

    • 准备工作
    • 使用Spring Initializr创建项目
    • 添加MyBatis-Plus依赖
    • 配置数据库连接
    • 创建MyBatis-Plus配置类
    • 验证安装成功
  2. 学习过程

    • 基础知识概览
    • 配置与依赖管理
    • 实体类与Mapper接口设计
    • Service与Controller层集成
    • 条件构造器的详细使用
    • 代码生成器与分页插件
    • 常见问题及解决方案
  3. 总结

  4. 附图说明


1. 安装过程

1.1 准备工作

  • 确保已安装JDK(推荐Java 8及以上版本)、Maven或Gradle构建工具,以及一个IDE(如IntelliJ IDEA或Eclipse)。
  • 确保MySQL数据库已安装并运行,创建一个测试数据库。

1.2 使用Spring Initializr创建项目

  • 访问Spring Initializr,选择项目构建工具(Maven或Gradle)、Spring Boot版本(如2.6.x),并添加以下依赖:
    • Spring Web
    • Lombok(用于简化代码)
    • MyBatis Framework(注意:MyBatis-Plus会自动包含MyBatis)
    • Spring JDBC(可选,但MyBatis-Plus已包含必要依赖)
    • MySQL Driver
  • 点击“Generate”按钮下载项目压缩包,解压后在IDE中打开。

1.3 添加MyBatis-Plus依赖

pom.xml文件中,找到<dependencies>标签,并添加MyBatis-Plus的Maven依赖:

 

xml复制代码

<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version> <!-- 确保使用最新版本 -->
</dependency>

1.4 配置数据库连接

src/main/resources/application.ymlapplication.properties文件中,配置数据库连接信息:

 

yaml复制代码

spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/your_database_name?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
username: your_username
password: your_password
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml # 如果使用XML配置SQL语句
type-aliases-package: com.yourpackage.entity # 实体类所在包名

1.5 创建MyBatis-Plus配置类

通常,MyBatis-Plus的配置可以通过application.ymlapplication.properties完成,但你也可以创建一个配置类来进一步自定义设置(如分页插件等):

 

java复制代码

@Configuration
@MapperScan("com.yourpackage.mapper")
public class MyBatisPlusConfig {
// 可根据需要添加分页插件、性能分析插件等配置
}

1.6 验证安装成功

  • 创建一个简单的实体类和Mapper接口,并在IDE中运行Spring Boot应用程序。
  • 检查控制台输出,确认没有启动错误,并且数据库连接成功。
  • 创建一个测试类,使用Mapper接口进行简单的数据库操作,如查询或插入数据,验证MyBatis-Plus是否正常工作。

2. 学习过程

2.1 基础知识概览

  • MyBatis-Plus简介:MyBatis的增强工具,提供了CRUD操作的简化方法、条件构造器、代码生成器、分页插件等。
  • 特性优势:依赖少、损耗小、支持多种数据库、内置防SQL注入、性能优越等。

2.2 配置与依赖管理

  • 确保pom.xmlbuild.gradle文件中添加了MyBatis-Plus及必要数据库驱动的依赖。
  • application.ymlapplication.properties中正确配置数据库连接信息、MyBatis-Plus相关设置(如mapper位置、别名包等)。

2.3 实体类与Mapper接口设计

  • 创建实体类,使用Lombok的@Data注解简化getter/setter方法,@TableName注解指定数据库表名(如果类名与表名不一致),@TableId注解指定主键字段及生成策略(如自增、UUID等)。
 

java复制代码

@Data
@TableName("user")
public class User {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private String username;
private String password;
// 其他字段...
}
  • 创建Mapper接口,继承BaseMapper<T>接口,T为对应的实体类类型。Mapper接口中无需编写任何方法,因为BaseMapper已经提供了CRUD操作的方法。
 

java复制代码

@Mapper
public interface UserMapper extends BaseMapper<User> {
// 可根据需要添加自定义方法...
}

2.4 Service与Controller层集成

  • 创建Service接口和实现类,在Service实现类中注入Mapper接口,并编写业务逻辑。
  • 创建Controller类,编写RESTful接口,调用Service层的方法处理HTTP请求。

2.5 条件构造器的详细使用

  • 条件构造器(如QueryWrapper<T>UpdateWrapper<T>)是MyBatis-Plus提供的强大工具,用于构建复杂的查询和更新条件。
  • 可以使用链式调用的方式构建条件,如eq(等于)、ne(不等于)、gt(大于)、lt(小于)、like(模糊查询)等。
  • 示例:查询用户名包含“admin”且年龄大于18岁的用户列表。
 

java复制代码

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("username", "admin").gt("age", 18);
List<User> users = userMapper.selectList(queryWrapper);

2.6 代码生成器与分页插件

  • MyBatis-Plus提供了代码生成器,可以根据数据库表自动生成实体类、Mapper接口、Service接口和实现类等代码,极大提高了开发效率。
  • 分页插件是MyBatis-Plus的另一个强大功能,可以轻松实现分页查询。只需在配置类中配置分页插件,然后在Service层的方法中使用Page<T>对象作为返回类型即可。

2.7 常见问题及解决方案

  • 数据库连接失败:检查数据库URL、用户名、密码是否正确,以及数据库服务是否运行。
  • 字段名不一致:使用@TableField注解指定数据库字段与实体类属性的映射关系。
  • SQL注入:MyBatis-Plus内置了SQL注入剥离器,但开发者仍需注意防范SQL注入风险,避免在代码中直接拼接SQL语句。

3. 总结

MyBatis-Plus作为MyBatis的增强工具,提供了丰富的功能和便捷的API,极大地简化了数据库操作的开发。通过本次学习,我们掌握了MyBatis-Plus的安装配置、实体类与Mapper接口的设计、Service与Controller层的集成、条件构造器的使用、代码生成器与分页插件的应用以及常见问题的解决方案。MyBatis-Plus以其轻量级、高效、易扩展的特点,成为了构建高效数据库访问层的理想选择。


4. 附图说明(建议附图)
  • 图1:Spring Initializr项目创建界面截图
  • 图2pom.xml中添加MyBatis-Plus依赖的截图
  • 图3application.yml配置数据库连接的截图
  • 图4:MyBatis-Plus配置类代码截图
  • 图5:实体类代码截图
  • 图6:Mapper接口代码截图
  • 图7:Service接口与实现类代码截图
  • 图8:Controller类代码截图
  • 图9:使用条件构造器进行查询的代码截图
  • 图10:代码生成器配置与生成的代码截图
  • 图11:分页插件配置与使用的代码截图

(由于文本格式限制,无法直接展示图片,请根据实际情况自行添加。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值