新手入门必看MyBatis-Plus&Druid数据源

tech2022-09-14  96

MyBatis-Plus&Druid数据源:

我们就一起来了解下Mybatis-Plus吧!

什么是MyBatis-Plus?MyBatis-Plus的优势?:

MyBatis-Plus简单来说就是在原本的MyBatis的基础上加了Buff或者说是它的升级版,它能让我们能够更简便的编程,在之前我们一定会在MyBatis和Hibernate之间做选择,它们各自的优势我就不多说了,可我们今天学习的就是把它们俩中和了的MyBatis-Plus所有MyBatis-Plus有它们俩个的优势而且不用再导Java包什么的它只要依附到MyBats上就可以了,具体有几个特性: **1.**无侵入:只做增强不做改变,引入它不会对视有工程产生影响,如丝般润滑 **2.**损耗小:启动即会自动注入基本CRUD(添删改查)性能基本无损耗,直接面对对象操作 **3.**支持Lambda形式调用:通过Lambda表达式,方便的编写各类查询条件,不用担心字段写错 **4.**支持多种数据库:MySQL,MariaDB,Oracle,DB2,H2,HSQL,SQLite,Postgre, SQLServer2005,SQLServer等等… **5.**强大的CRUD操作:内置通过Mapper,通用Service,通过少量配置就可实现单表大部分的添删改查操作,有强大的条件构造器满足各类的使用需求 **6.**内置分页插件:基于MyBatis物理分页,开发者不需要知道具体操作,配置好插件,可以很简单的调用其方法就可.


MyBatis-Plus的基本使用步骤:

1.下载插件

2.配置依赖 关键依赖(pom.xml):

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.15.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>th04</artifactId> <version>0.0.1-SNAPSHOT</version> <name>th04</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> <version>5.1.18</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>3.1.1</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <!-- <exclusions>--> <!-- <exclusion>--> <!-- <groupId>org.junit.vintage</groupId>--> <!-- <artifactId>junit-vintage-engine</artifactId>--> <!-- </exclusion>--> <!-- </exclusions>--> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

application.properties.java文件配置:

spring.datasource.deiver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/appinfodb?useUnicode=true&characterEncoding=utf-8 spring.datasource.username=root spring.datasource.password=root logging.level.root=warn logging.level.com.example.th04.mapper=trace logging.pattern.console=%p%m%n

启动类添加注解:

@SpringBootApplication @MapperScan("java.com.example.th04.mapper") public class Th04Application { public static void main(String[] args) { SpringApplication.run(Th04Application.class, args); } }

编写实体类:

@Data @TableName("user") public class User { @TableId(type= IdType.AUTO) @TableField("usr_id") private long usrId; @TableField("usr_name") private String usrName; @TableField("usr_password") private String usrPassword; @TableField("usr_role_id") private long usrRoleId; @TableField("usr_flag") private long usrFlag;

@TableName指定数据库表 @TableId注解在主键上且指定生成策略自动增长 @TableField指定数据库字段名.

测试类:

@RunWith(SpringRunner.class) @SpringBootTest public class Th04ApplicationTests { @Resource private UserMapper userMapper; @Test public void testSelectById(){//主键查询 User user = userMapper.selectById(1L); System.out.println("usrName:"+user.getUsrName()); }

Druid数据源的优势?:

现有的最好的连接池之一

**1,**替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。

**2,**可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。

**3,**数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。

**4,**SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。

**5,**扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter机制,很方便编写JDBC层的扩展插件。

最新回复(0)