MyBatis 框架尚硅谷 java 研究院版本:V 1.0MANAGED | 自定义 JDBC:使用了 JDBC 的提交和回滚设置,依赖于从数据源得到的连接来管理事务 范 围。 JdbcTransactionFactory MANAGED:不提交或回滚一个连接、让容器来管理事务的整个生命周期(比如 JEE 应用服务器的上下文)。 ManagedTransactionFactory 自定义:实现 TransactionFactory 接口,type=全类名/别名 UNPOOLED:不使用连接池, UnpooledDataSourceFactory POOLED:使用连接池, PooledDataSourceFactory JNDI: 在 EJB 或应用服务器这类容器中查找指定的数据源 自定义:实现 DataSourceFactory 接口,定义数据源的获取方式。 7) 实际开发中我们使用 Spring 管理数据源,并进行事务控制的配置来覆盖上述配置 JAVAEE 命名参数 为参数使用@Param 起一个名字,MyBatis 就会将这些参数封装进 map 中,key 就是我 们自己指定的名字 4) POJO 当这些参数属于我们业务 POJO 时,我们直接传递 POJO 5) Map 我们也可以封装多个参数为 map,直接传递 6) Collection/Array 会被 MyBatis 封装成一个 map 传入, Collection 对应的 key 是 collection0 码力 | 44 页 | 926.54 KB | 1 年前3
传智播客 mybatis 框架课程讲义(SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } 上边使用 jdbc 的原始方法(未经封装)实现了查询数据库表记录的操作。 1.1.2 jdbc 编程步骤: 1、 加载数据库驱动 2、 创建并获取数据库链接 3、 创建 jdbc statement 对象 4、 设置 sql 语句 where 条件不 一定,可能多也可能少,修改 sql 还要修改代码,系统不易维护。 4、 对结果集解析存在硬编码(查询列名),sql 变化导致解析代码变化,系统不易维护,如 果能将数据库记录封装成 pojo 对象解析比较方便。 1.2 MyBatis 介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些 改进。 MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者 只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建 statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。 Mybatis通过xm0 码力 | 75 页 | 1.16 MB | 1 年前3
Apache ShardingSphere ElasticJob 中文文档 2023 年 11 月 01 日Simple、Dataflow 这两种基于 class 的作业类型,并提供 Script、HTTP 这两种基于 type 的作业类型,用户可通过实现 SPI 接口自行扩展作业类型。 简单作业 意为简单实现,未经任何封装的类型。需实现 SimpleJob 接口。该接口仅提供单一方法用于覆盖,此方法 将定时执行。与 Quartz 原生接口相似,但提供了弹性扩缩容和分片等功能。 public class MyElasticJob 现核心作业逻辑并辅以少量配置,即可利用轻量、无中心化的 ElasticJob 解决分布式调度问题。 作业配置 实现作业逻辑 作业逻辑实现与 ElasticJob 的其他使用方式并没有较大的区别,只需将当前作业注册为 Spring 容器中的 bean。 线程安全问题 Bean 默认是单例的,如果该作业实现会在同一个进程内被创建出多个 JobBootstrap 的实例,可以考 虑设置 Scope 为 prototype。 @Component 为作业名称,value 为作业类型与配置。Starter 会根据该配置自 动创建 OneOffJobBootstrap 或 ScheduleJobBootstrap 的实例并注册到 Spring 容器中。 配置参考: elasticjob: regCenter: serverLists: localhost:6181 namespace: elasticjob-springboot jobs:0 码力 | 98 页 | 1.97 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.2MySQL,PostgreSQL,Oracle,SQLServer 以及任何 可使用 JDBC 访问的数据库。 1.1.2 ShardingSphere-Proxy 定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支 持。目前提供 MySQL 和 PostgreSQL(兼容 openGauss 等基于 PostgreSQL 的数据库)版本,它可以使 用任何兼容 3.1.2 ShardingSphere-Proxy ShardingSphere‐Proxy 是 Apache ShardingSphere 的第二个产品。它定位为透明化的数据库代理端,提 供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。目前提供 MySQL 和 PostgreSQL (兼容 openGauss 等基于 PostgreSQL 的数据库)版本,它可以使用任何兼容 ds2.username=root spring.shardingsphere.datasource.ds2.password= 使用 JNDI 数据源 如果计划使用 JNDI 配置数据库,在应用容器(如 Tomcat)中使用 ShardingSphere‐JDBC 时,可使 用 spring.shardingsphere.datasource.${datasourceName}.jndiName0 码力 | 446 页 | 4.67 MB | 1 年前3
Apache ShardingSphere 中文文档 5.0.0MySQL,Oracle,SQLServer,PostgreSQL 以及任何 遵循 SQL92 标准的数据库。 1.1.2 ShardingSphere-Proxy 定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支 持。目前提供 MySQL 和 PostgreSQL(兼容 openGauss 等基于 PostgreSQL 的数据库)版本,它可以使 用任何兼容 3.1.2 ShardingSphere-Proxy ShardingSphere‐Proxy 是 Apache ShardingSphere 的第二个产品。它定位为透明化的数据库代理端,提 供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。目前提供 MySQL 和 PostgreSQL (兼容 openGauss 等基于 PostgreSQL 的数据库)版本,它可以使用任何兼容 table_inline.props. algorithm-expression=t_order_${order_id % 2} 使用 JNDI 数据源 如果计划使用 JNDI 配置数据库,在应用容器(如 Tomcat)中使用 ShardingSphere‐JDBC 时,可使 用 spring.shardingsphere.datasource.${datasourceName}.jndiName0 码力 | 385 页 | 4.26 MB | 1 年前3
Apache ShardingSphere 中文文档 5.0.0-alphaMySQL,Oracle,SQLServer,PostgreSQL 以及任何 遵循 SQL92 标准的数据库。 1.1.2 ShardingSphere-Proxy 定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支 持。目前提供 MySQL 和 PostgreSQL 版本,它可以使用任何兼容 MySQL/PostgreSQL 协议的访问客户端 (如:MySQL =, >, <, >=, <=, IN 和 BETWEEN AND 的分片操作支持。ComplexShardingStrategy 支持多分片键,由于多分片键之间的关系复杂,因此并 未进行过多的封装,而是直接将分片键值组合以及分片操作符透传至分片算法,完全由应用开发者实现, 提供最大的灵活度。 • Hint 分片策略 对应 HintShardingStrategy。通过 Hint 指定分片值而非从 数据库原生的返回结果集的方式最为契合。遍历、排序以及流式分组都属于流式归并的一种。 内存归并则是需要将结果集的所有数据都遍历并存储在内存中,再通过统一的分组、排序以及聚合等计 算之后,再将其封装成为逐条访问的数据结果集返回。 装饰者归并是对所有的结果集归并进行统一的功能增强,目前装饰者归并有分页归并和聚合归并这 2 种 类型。 3.1. 数据分片 41 Apache ShardingSphere0 码力 | 301 页 | 3.44 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.1MySQL,PostgreSQL,Oracle,SQLServer 以及任何 可使用 JDBC 访问的数据库。 1.1.2 ShardingSphere-Proxy 定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支 持。目前提供 MySQL 和 PostgreSQL(兼容 openGauss 等基于 PostgreSQL 的数据库)版本,它可以使 用任何兼容 3.1.2 ShardingSphere-Proxy ShardingSphere‐Proxy 是 Apache ShardingSphere 的第二个产品。它定位为透明化的数据库代理端,提 供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。目前提供 MySQL 和 PostgreSQL (兼容 openGauss 等基于 PostgreSQL 的数据库)版本,它可以使用任何兼容 ds2.username=root spring.shardingsphere.datasource.ds2.password= 使用 JNDI 数据源 如果计划使用 JNDI 配置数据库,在应用容器(如 Tomcat)中使用 ShardingSphere‐JDBC 时,可使 用 spring.shardingsphere.datasource.${datasourceName}.jndiName0 码力 | 409 页 | 4.47 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.0MySQL,PostgreSQL,Oracle,SQLServer 以及任何 可使用 JDBC 访问的数据库。 1.1.2 ShardingSphere-Proxy 定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支 持。目前提供 MySQL 和 PostgreSQL(兼容 openGauss 等基于 PostgreSQL 的数据库)版本,它可以使 用任何兼容 3.1.2 ShardingSphere-Proxy ShardingSphere‐Proxy 是 Apache ShardingSphere 的第二个产品。它定位为透明化的数据库代理端,提 供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。目前提供 MySQL 和 PostgreSQL (兼容 openGauss 等基于 PostgreSQL 的数据库)版本,它可以使用任何兼容 ds2.username=root spring.shardingsphere.datasource.ds2.password= 使用 JNDI 数据源 如果计划使用 JNDI 配置数据库,在应用容器(如 Tomcat)中使用 ShardingSphere‐JDBC 时,可使 用 spring.shardingsphere.datasource.${datasourceName}.jndiName0 码力 | 406 页 | 4.40 MB | 1 年前3
Apache ShardingSphere 中文文档 5.4.1数据迁移的实现原理 8.6. 数据迁移 40 Apache ShardingSphere document 8.6.6 核心概念 节点 运行计算层或存储层组件进程的实例,可以是物理机、虚拟机、容器等。 集群 为了提供特定服务而集合在一起的多个节点。 源端 原始数据所在的存储集群。 目标端 原始数据将要迁移的目标存储集群。 数据迁移作业 把数据从某一个存储集群复制到另一个存储集群的完整流程。 可以从 Docker 容器中获取配置文件模板,拷贝到宿主机任意目录中: docker run -d --name tmp --entrypoint=bash apache/shardingsphere-proxy docker cp tmp:/opt/shardingsphere-proxy/conf /host/path/to/conf docker rm tmp 由于容器内的网络环境可能与 由于容器内的网络环境可能与宿主机的网络环境有差异,如果启动时报无法连接到数据库错误等错误,请 确保 conf/config-*.yaml 配置文件中指定的数据库的 IP 可以被 Docker 容器内部访问到。 具体配置请参考 ShardingSphere‐Proxy 启动手册 ‐ 使用二进制发布包。 3. (可选)引入第三方依赖或自定义算法 如果存在以下任意需求:* ShardingSphere‐Proxy 后端使用0 码力 | 530 页 | 4.49 MB | 1 年前3
Apache ShardingSphere 中文文档 5.3.2数据迁移的实现原理 8.6. 数据迁移 40 Apache ShardingSphere document 8.6.6 核心概念 节点 运行计算层或存储层组件进程的实例,可以是物理机、虚拟机、容器等。 集群 为了提供特定服务而集合在一起的多个节点。 源端 原始数据所在的存储集群。 目标端 原始数据将要迁移的目标存储集群。 数据迁移作业 把数据从某一个存储集群复制到另一个存储集群的完整流程。 可以从 Docker 容器中获取配置文件模板,拷贝到宿主机任意目录中: docker run -d --name tmp --entrypoint=bash apache/shardingsphere-proxy docker cp tmp:/opt/shardingsphere-proxy/conf /host/path/to/conf docker rm tmp 由于容器内的网络环境可能与 由于容器内的网络环境可能与宿主机的网络环境有差异,如果启动时报无法连接到数据库错误等错误,请 确保 conf/config-*.yaml 配置文件中指定的数据库的 IP 可以被 Docker 容器内部访问到。 具体配置请参考 ShardingSphere‐Proxy 启动手册 ‐ 使用二进制发布包。 3. (可选)引入第三方依赖或自定义算法 如果存在以下任意需求:* ShardingSphere‐Proxy 后端使用0 码力 | 508 页 | 4.44 MB | 1 年前3
共 16 条
- 1
- 2













