jdbc
若想使用最基础的jdbc来操作数据库,可以引入spring官方的starter,如下
org.springframework.boot spring-boot-starter-jdbc
他会自动帮我们引入hikari连接池(hikari是日语“光”)、jdbc和事务。但没有给我们引入驱动,因为官方并不知道我们使用什么数据库,所以我们需要自己引入,例如MySQL的驱动依赖如下
mysql mysql-connector-java 5.1.18
引入完成后就需要配置数据库连接了,如下:
# 数据库连接 spring.datasource.url=jdbc:mysql://localhost:3306/test # 数据库用户名 spring.datasource.username=root # 数据库密码 spring.datasource.password=passwd # 数据库驱动 spring.datasource.driver-class-name=com.mysql.jdbc.Driver # 数据库连接池,默认就是Hikari spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring为我们提供了一个JdbcTemplate组件,我们可以通过他来CRUD,例如
@Autowired
JdbcTemplate jdbcTemplate;
@Test
public void testJdbc() {
Long count = jdbcTemplate.queryForObject("select count(*) from student;", Long.class);
log.info("记录总数:{}", count);
}
整合Druid
Druid(德鲁伊)是由阿里开发的数据源,他除了提供数据库连接池外,还提供了整套解决方案,比如监控,安全等等。
整合Druid只需要引入一个starter即可,引入后就会使用Druid作为数据源,例如
com.alibaba druid-spring-boot-starter 1.1.17
关于配置Druid的监控示例如下
# Druid开启监控页,默认false spring.datasource.druid.stat-view-servlet.enabled=true # 监控页路径,默认/druid*.xmlcom.baomidou mybatis-plus-boot-starter 3.4.3.4
对于实体类,和之前一样,但如果表名和类名不一致(除了大小写不一样外),则需要使用@TableName("tableName")来指定真正的表名。如果主键不叫id,则需要在主键字段上加上@TableId("idName")来指定真正的主键名,否则无法使用Mybatis-plus默认的通过主键查找。在开发中建议无论什么情况都加上。
对于DAO接口,只需要继承baseMapper
@Mapper public interface MyStudentDAO extends baseMapper{}
对于Service接口,需要继承IService
public interface MyService extends IService{ }
@Service public class MyServiceImpl extends ServiceImplimplements MyService {}
tip:对于实体类中有,但表中没有的字段,可以使用@TableField(exist = false)来表示,但不推荐,因为实体类的就是用来表示表数据的,应该和表字段一一对应。
mybatis-plus官网:https://mp.baomidou.com/guide/



