目录
什么是Mybatis
MyBatis是一款优秀的 持久层 框架,用于简化JDBC的开发 ,它支持定制化SQL、存储过程以及高级映射。MyBatis本是Apache的一个开源项目iBatis,2010年该项目由Apache Software Foundation迁移到了Google Code,并改名为MyBatis。2013年11月,MyBatis迁移到GitHub。
持久层:指的是就是数据访问层(dao),是用来操作数据库的
Mybatis操作数据库的步骤:
-
准备工作(创建springboot工程、数据库表、实体类)
-
引入Mybatis的相关依赖,配置Mybatis(数据库连接信息)
-
编写SQL语句
创建springboot工程,并导入 mybatis的起步依赖、mysql的驱动包。
项目工程创建完成后,自动在pom.xml文件中,导入Mybatis依赖和MySQL驱动依赖
在application.properties中写入要连接的数据库信息
#?????
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
#??????url
spring.datasource.druid.url=jdbc:mysql://localhost:3306/?
#?????????
spring.datasource.druid.username=?
#????????
spring.datasource.druid.password=?
编写sql语句
创建一个包 mapper。在mapper包下创建一个接口 什么什么Mapper ,这是一个持久层接口(Mybatis的持久层接口规范一般都叫 XxxMapper)。
@Mapper
public interface UserMapper {
//查询所有用户数据
@Select("select id, name, age, gender from user")
public List<User> list();
}
JDBC
JDBC(Java Database Connectivity)是Java数据库连接技术,它是一种用于数据库访问的应用程序API(Application Programming Interface,应用程序设计接口),由一组用Java语言编写的类和接口组成。
优点
- 简单性:JDBC提供了一套简单、直接的API,使得数据库操作变得简单易行。
- 灵活性:JDBC支持各种SQL语句的执行,包括查询、更新、删除等,使得开发人员可以根据需要灵活地进行数据库操作。
- 可移植性:JDBC驱动程序是独立于数据库的,只要编写了符合JDBC规范的代码,就可以在不同的数据库之间移植。
缺点
- 代码繁琐:直接使用JDBC进行数据库操作可能会涉及到大量的代码,特别是在处理复杂查询和结果集时。
- 安全性问题:直接使用JDBC拼接SQL语句可能会面临SQL注入等安全问题。
- 性能问题:在某些情况下,直接使用JDBC可能无法达到最优的性能表现。
数据库连接池
数据库连接池是一个连接数据库的缓存池,用于管理和分配数据库连接对象。当应用程序需要与数据库进行交互时,它不会直接创建新的数据库连接,而是从连接池中获取一个已经建立好的连接。使用完毕后,连接会被释放回连接池,以供其他请求使用。这种方式避免了频繁地创建和销毁数据库连接,从而提高了数据库访问的性能和效率。
Druid连接池是阿里巴巴开源的数据库连接池项目
功能强大,性能优秀,是Java语言最好的数据库连接池之一
如果我们想把默认的数据库连接池切换为Druid数据库连接池,只需要完成以下操作即可:
参考官方地址:druid/druid-spring-boot-starter at master · alibaba/druid · GitHub
在Pom.xml中写入:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>?</version>
</dependency>