云南网站建设优选平台,关于建设工程的网站,jsp网站开发需要哪些技术,建设工程专注在哪个网站MyBatis-Plus入门案例一、MyBatis-Plus简介1、简介2、特性3、支持数据库4、框架结构5、代码及文档地址二、入门案例1、开发环境2、建库建表3、创建Spring Boot工程a初始化工程b引入依赖4、编写代码a配置application.yml 或者 application.propertiesb添加实体c…
MyBatis-Plus入门案例一、MyBatis-Plus简介1、简介2、特性3、支持数据库4、框架结构5、代码及文档地址二、入门案例1、开发环境2、建库建表3、创建Spring Boot工程a初始化工程b引入依赖4、编写代码a配置application.yml 或者 application.propertiesb添加实体c添加mapperd启动类e测试f添加日志申明 未经许可禁止以任何形式转载若要引用请标注链接地址。 全文共计6873字阅读大概需要3分钟 更多学习内容 欢迎关注我的个人公众号不懂开发的程序猿 一、MyBatis-Plus简介
1、简介
MyBatis-Plus简称 MP是一个 MyBatis的增强工具在 MyBatis 的基础上只做增强不做改变为 简化开发、提高效率而生。 2、特性
无侵入只做增强不做改变引入它不会对现有工程产生影响如丝般顺滑损耗小启动即会自动注入基本 CURD性能基本无损耗直接面向对象操作强大的 CRUD 操作内置通用 Mapper、通用 Service仅仅通过少量配置即可实现单表大部分 CRUD 操作更有强大的条件构造器满足各类使用需求支持 Lambda 形式调用通过 Lambda 表达式方便的编写各类查询条件无需再担心字段写错支持主键自动生成支持多达 4 种主键策略内含分布式唯一 ID 生成器 - Sequence可自由 配置完美解决主键问题 支持 ActiveRecord 模式支持 ActiveRecord 形式调用实体类只需继承 Model 类即可进行强 大的 CRUD 操作支持自定义全局通用操作支持全局通用方法注入 Write once, use anywhere 内置代码生成器采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码支持模板引擎更有超多自定义配置等您来使用内置分页插件基于 MyBatis 物理分页开发者无需关心具体操作配置好插件之后写分页等 同于普通 List 查询分页插件支持多种数据库支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、 Postgre、SQLServer 等多种数据库内置性能分析插件可输出 SQL 语句以及其执行时间建议开发测试时启用该功能能快速揪出 慢查询内置全局拦截插件提供全表 delete 、 update 操作智能分析阻断也可自定义拦截规则预防 误操作
3、支持数据库 任何能使用MyBatis进行 CRUD, 并且支持标准 SQL 的数据库具体支持情况如下 MySQLOracleDB2H2HSQLSQLitePostgreSQLSQLServerPhoenixGauss ClickHouseSybaseOceanBaseFirebirdCubridGoldilockscsiidb达梦数据库虚谷数据库人大金仓数据库南大通用(华库)数据库南大通用数据库神通数据 库瀚高数据库
4、框架结构 5、代码及文档地址
官方地址: http://mp.baomidou.com
代码发布地址:
Github: https://github.com/baomidou/mybatis-plus
Gitee: https://gitee.com/baomidou/mybatis-plus
文档发布地址: https://baomidou.com/pages/24112f
二、入门案例
1、开发环境
工具版本IDEidea2021.3.3JDKJava8构建工具maven 3.8.5MySQL版本MySQL 8.0.28Spring Boot2.7.1MyBatis-Plus3.5.1
2、建库建表
CREATE DATABASE mybatis_plus /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
use mybatis_plus;
CREATE TABLE user (
id bigint(20) NOT NULL COMMENT 主键ID,
name varchar(30) DEFAULT NULL COMMENT 姓名,
age int(11) DEFAULT NULL COMMENT 年龄,
email varchar(50) DEFAULT NULL COMMENT 邮箱,
PRIMARY KEY (id)
) ENGINEInnoDB DEFAULT CHARSETutf8;添加数据
INSERT INTO user (id, name, age, email) VALUES
(1, Jone, 18, test1baomidou.com),
(2, Jack, 20, test2baomidou.com),
(3, Tom, 28, test3baomidou.com),
(4, Sandy, 21, test4baomidou.com),
(5, Billie, 24, test5baomidou.com);3、创建Spring Boot工程
a初始化工程
使用 Spring Initializr 快速初始化一个 Spring Boot 工程 b引入依赖
pom.xml
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.1/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.jerry/groupIdartifactIdmybatisplus/artifactIdversion0.0.1-SNAPSHOT/versionnamemybatisplus/namedescriptionmybatisplus/descriptionpropertiesjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.1/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdscoperuntime/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project4、编写代码
a配置application.yml 或者 application.properties
application.properties
#spring.datasource.typecom.zaxxer.hikari.HikariDataSource
#spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver
#spring.datasource.urljdbc:mysql://localhost:3306/mybatis_plus?serverTimezoneGMT%2B8characterEncodingutf-8useSSLfalse
#spring.datasource.usernameroot
#spring.datasource.namerootapplication.yml
spring:# 配置数据源信息datasource:# 配置数据源类型type: com.zaxxer.hikari.HikariDataSource# 配置连接数据库的各个信息driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezoneGMT%2B8characterEncodingutf-8useSSLfalseusername: rootpassword: root注意 1、驱动类driver-class-name spring boot 2.0内置jdbc5驱动驱动类使用 driver-class-name: com.mysql.jdbc.Driver spring boot 2.1及以上内置jdbc8驱动驱动类使用 driver-class-name: com.mysql.cj.jdbc.Driver 否则运行测试用例的时候会有 WARN 信息 2、连接地址url MySQL5.7版本的url jdbc:mysql://localhost:3306/mybatis_plus?characterEncodingutf-8useSSLfalse MySQL8.0版本的url jdbc:mysql://localhost:3306/mybatis_plus? serverTimezoneGMT%2B8characterEncodingutf-8useSSLfalse 否则运行测试用例报告如下错误 java.sql.SQLException: The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or represents more b添加实体
package com.jerry.mybatisplus.pojo;import lombok.Data;/*** ClassName: User* Package: com.jerry.mybatisplus.pojo* Description:** Author jerry_jy* Create 2023-02-09 16:52* Version 1.0*/
Data
public class User {private Long id;private String name;private Integer age;private String email;
}c添加mapper BaseMapper是MyBatis-Plus提供的模板mapper其中包含了基本的CRUD方法泛型为操作的 实体类型 package com.jerry.mybatisplus.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jerry.mybatisplus.pojo.User;
import org.apache.ibatis.annotations.Mapper;/*** ClassName: UserMapper* Package: com.jerry.mybatisplus.mapper* Description:** Author jerry_jy* Create 2023-02-09 16:59* Version 1.0*/
Mapper
public interface UserMapper extends BaseMapperUser {
}d启动类 在Spring Boot启动类中添加MapperScan注解扫描mapper包 MapperScan(com.jerry.mybatisplus.mapper)
SpringBootApplication
public class MybatisplusApplication {public static void main(String[] args) {SpringApplication.run(MybatisplusApplication.class, args);}}e测试
package com.jerry.mybatisplus;import com.jerry.mybatisplus.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;/*** ClassName: MybatisPlusTest* Package: com.jerry.mybatisplus* Description:** Author jerry_jy* Create 2023-02-09 17:04* Version 1.0*/SpringBootTest
public class MybatisPlusTest {Autowiredprivate UserMapper userMapper;Testpublic void testSelectList(){userMapper.selectList(null).forEach(System.out::println);}
}注意 IDEA在 userMapper 处报错因为找不到注入的对象因为类是动态创建的但是程序可以正确 的执行。 为了避免报错可以在mapper接口上添加 Repository 注解 f添加日志
在application.yml中配置日志输出
# 配置MyBatis日志
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl–end–