栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot之数据库访问

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot之数据库访问

springboot之数据访问
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*.xml


  com.baomidou
  mybatis-plus-boot-starter
  3.4.3.4

  • 对于实体类,和之前一样,但如果表名和类名不一致(除了大小写不一样外),则需要使用@TableName("tableName")来指定真正的表名。如果主键不叫id,则需要在主键字段上加上@TableId("idName")来指定真正的主键名,否则无法使用Mybatis-plus默认的通过主键查找。在开发中建议无论什么情况都加上。

  • 对于DAO接口,只需要继承baseMapper,就会有对实体类T基本的增删改查功能

    @Mapper
    public interface MyStudentDAO extends baseMapper {}
    
  • 对于Service接口,需要继承IService。在Service接口的实现类,需要继承ServiceImpl, Entity>,第一个泛型是DAO,第二个泛型是实体类

    public interface MyService extends IService { }
    
    @Service
    public class MyServiceImpl extends ServiceImpl implements MyService {}
    
  • tip:对于实体类中有,但表中没有的字段,可以使用@TableField(exist = false)来表示,但不推荐,因为实体类的就是用来表示表数据的,应该和表字段一一对应。

    mybatis-plus官网:https://mp.baomidou.com/guide/

    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/446234.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号