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接口
@Service
public class StuServiceImpl extends ServiceImpl<StuMapper, Stu> implements StuService {
}
controller层: 直接使用service继承类的简单方法
@Controller
public 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
@Configuration
public 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零基础到精通之数据库专项精讲的文章就介绍到这了,更多相关SpringBoot2 数据库内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数260
191.63 KB下载数245
143.91 KB下载数1139
183.71 KB下载数640
644.84 KB下载数2752