SpringBoot2数据库实例分析
这篇文章主要介绍“SpringBoot2数据库实例分析”,在日常操作中,相信很多人在SpringBoot2数据库实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot2数据库实例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1 数据库连接
1.1 配置数据库连接信息
如果想要使用数据库连接池连接数据库进行SQL操作的话,在SpringBoot中需要经过如下三个步骤: 第一步: 导入jdbc开发的启动场景
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency>
导入数据库驱动 之所以框架底层没有自动导入数据库的驱动,是因为不同的数据库使用的驱动不同,这需要用户根据自己的需要来进行选择。虽然框架没有对指定数据库驱动进行自动导入,但是对不同数据库驱动的版本都进行了版本仲裁,也就是说我们可以直接导入无需定义版本号。当然也可以自定义版本号,maven会根据自身的就近依赖原则导入自定义的版本
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.32</version></dependency>
配置数据库连接的配置文件
# 设置数据库spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test username: root password: "123456"
1.2 整合Druid数据源
SpringBoot框架中默认使用的是Hikari数据源,这也就意味着如果要是想要修改数据源的话,无非就是两种方法:自定义配置类、引入相应的启动器依赖再配置配置文件
引入Druid的启动器依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.17</version></dependency>
配置配置文件(选学,框架一般都有默认的配置)
spring: datasource: url: jdbc:mysql://localhost:3306/db_account username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver druid: aop-patterns: com.atguigu.admin.* #监控SpringBean filters: stat,wall # 底层开启功能,stat(sql监控),wall(防火墙) stat-view-servlet: # 配置监控页功能 enabled: true login-username: admin login-password: admin resetEnable: false web-stat-filter: # 监控web enabled: true urlPattern: *.xml,于是我们就按照它的默认规则在静态资源路径下mapper文件夹下。本案例中没有映射文件,于是就不创建 如果有需要的话,还可以在配置文件中指定MyBatis-plus配置文件的各种信息
service层:
service接口继承IService类
public interface StuService extends IService<Stu> {}
service的实现类先是继承ServiceImpl并传两个泛型(mapper接口,实体类),然后实现service接口
@Servicepublic class StuServiceImpl extends ServiceImpl<StuMapper, Stu> implements StuService { }
controller层: 直接使用service继承类的简单方法
@Controllerpublic class TableController { @Autowired StuServiceImpl stuService; @GetMapping("/dynamic_table") public String dynamic_table(Model model) { // 从数据库中查出user表进行展示 List<Stu> list = stuService.list(); model.addAttribute("stus", list); return "/table/dynamic_table"; }}
3.2 MyBatis-plus的分页实现
MyBatis-plus的分页功能实现需要先自定义一个配置类,向容器中注册一个Interceptor
@Configurationpublic class MyBatisConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(); paginationInnerInterceptor.setOverflow(true); paginationInnerInterceptor.setMaxLimit(500L); interceptor.addInnerInterceptor(paginationInnerInterceptor); return interceptor; }}
然后就可以像普通的CRUD操作一样,直接使用service继承类的分页的相关方法即可
@GetMapping("/dynamic_table")public String dynamic_table(@RequestParam(value = "pn", defaultValue = "1")Integer pn, Model model) { // 分页从数据库中查出stu表的所有数据,当前页、总页数、总条数…… Page<Stu> stuPage = new Page<>(pn, 1); Page<Stu> page = stuService.page(stuPage); model.addAttribute("page", page); return "/table/dynamic_table";}
到此,关于“SpringBoot2数据库实例分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341