2016 - 2024

感恩一路有你

jdbc事务使用实例 在jdbc的DAO是什么意思?还有bean?

浏览量:3413 时间:2023-04-10 07:37:15 作者:采采

在jdbc的DAO是什么意思?还有bean?

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名

DAO是Data Access Object数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。   在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储

bean:是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。

Mybaits springboot有哪些分库分表插件推荐?

可以通过Spring Boot MyBatis Sharding-JDBC实现分库分表。

Sharding-JDBCSharding-JDBC:定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。

适用于任何基于Java的ORM框架,如JPA、Hibernate、MyBatis、Spring JDBC Template或直接使用JDBC.基于任何第三方的数据库连接池,如DBCP、C3P0、BoneCP、Druid、HikariCP等。支持任意实现JDBC规范的数据库,如MySQL、Oracle、SQLSever和PostgreSQL以及任何遵循 SQL92 标准的数据库。sharding-jdbc架构ShardingSphere-JDBC 采用无中心化架构,适用于 Java 开发的高性能的轻量级 OLTP 应用。

功能数据分片:分库和分表,读写分离,分布式主键;分布式事务;XA强一致事务,柔务;数据库治理;配置动态化,熔断和禁用,调用链路追踪;分库分表分库分表分别为垂直分表、垂直分库、水平分表和水平分库。

垂直分表:把一个宽表的字段按访问频次、是否是大字段的原则拆分为多个表,这样可以使业务清晰,还能提升部分性能。拆分后,尽量从业务角度避免联查,否则性能方面将得不偿失。垂直分库:把多个表按照业务耦合松紧归类,分别存放不同的库,这些库可以分布不同服务器,从而使访问压力被多服务器负载,大大提升性能,同时能提高整体架构的业务清晰度,不同的业务库可根据自身情况定制优化方案。但是它需要解决跨库带来的所有复杂问题。水平分库:把一个表的数据(按数据行)分到多个不同的库,每个库只有这个表的部分数据,这些库可以分布在不同服务器,从而使访问压力被多个服务器负载,大大提升性能。它不仅需要解决跨库带来的所有复杂度问题,还要解决数据路由的问题。水平分表:把一个表的数据(按数据行)分到多个同一个数据库的多张表中,每个表只有这个表的部分数据,这样能小幅提升性能,它仅仅作为水平分库的一个补充优化。一般来说,在系统设计阶段就应该根据业务耦合松紧来确定垂直分库和垂直分表方案,在数据量、访问压力不是特别大的情况,首先考虑缓存、读写分离、索引技术等方案。若数据量极大,且持续增长,再考虑水平分库和水平分表方案。

引入 maven 依赖注意: 请将${}更改为实际的版本号。

规则配置ShardingSphere-JDBC 可以通过 Java,YAML,Spring 命名空间和 Spring Boot Starter 这 4 种进行配置,开发者可根据场景选择适合的配置。

创建数据源通过 ShardingSphereDataSourceFactory 工厂和规则配置对象获取 ShardingSphereDataSource。 该对象实现自 JDBC 的标准 DataSource 接口,可用于原生 JDBC 开发,或使用 JPA, MyBatis 等 ORM 类库。

官方中文文档:

如果解决了你的疑惑,请点点关注,谢谢支持。

数据库 JDBC 分表 分库 访问

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。