java开发之Java ORM 框架推荐 |
您所在的位置:网站首页 › javaorm框架有哪些 › java开发之Java ORM 框架推荐 |
1 前言
ObjectiveSQL 是一个Java ORM 框架,它不仅是Active Record 模式在Java 中的应用,同时还针对复杂SQL 编程提供近乎完美的解决方案,使得Java 代码与SQL 语句有机的结合,java培训改变了传统SQL 的编程模型(以字符串拼接为主的编程模型)。 ObjectiveSQL 项目分为两部分:一部分是运行期Maven 依赖 objective-sql 或 objsql-springboot,主要实现了基础的ORM 特性和SQL 编程模型,另一部分是IntelliJ IDEA 插件,兼容Java 运算符重载和动态代码提示。 ObjectiveSQL 主要解决: 动态代码生成:基于领域模型(Domain Model),自动生成简单SQL 编程代码,使应用系统开发只关注自身的业务特性,提升开发效率 可编程SQL:将SQL 中的控制原语、谓词、函数以及过程化逻辑等抽象为Java 中的高级类型,与Java 融为一体,使得SQL 成为真正过程化、逻辑型编程语言,可封装、可复用以及单元测试 表达式语法一致性:Java 语法与SQL 语法等价替换,包括:数学计算、函数调用、比较与逻辑计算表达式,Java 表达式可以直接转换为SQL 表达式。 2 依赖安装 2.1 IntelliJ IDEA 插件安装Preferences/Settings -> Plugins -> Search with "ObjectiveSql" in market -> Install 2.2 Maven 集成独立应用程序,请将下列代码添加至dependencies: com.github.braisdom objective-sql {objsql.version} 复制代码Spring Boot 集成项目,请将下列代码添加至dependencies: com.github.braisdom objsql-springboot {objsql.version} 复制代码最新版本请访问 ObjectiveSQL,ObjSqlSpringBoot 2.3 Maven Compiler 参数配置请将下列代码添加至pom.xml 中的 / 结点下: org.apache.maven.plugins maven-compiler-plugin 3.8.0 8 8 UTF-8 -Xplugin:JavaOO com.github.braisdom objective-sql ${objsql.version} 复制代码 3 数据库连接注入 3.1 独立应用系统以MySQL 为例,基于 ConnectionFactory 构造数据连接获取逻辑,并将其注入Databases。 private static class MySQLConnectionFactory implements ConnectionFactory { @Override public Connection getConnection(String dataSourceName) throws SQLException { try { String url = "jdbc:mysql://localhost:4406/objective_sql"; String user = "root"; String password = "******"; return DriverManager.getConnection(url, user, password); } catch (SQLException e) { throw e; } catch (Exception e) { throw new IllegalStateException(e.getMessage(), e); } } } Databases.installConnectionFactory(new MySQLConnectionFactory()); 复制代码getConnection 方法中的的 dataSourceName 参数仅在多数据源的场景下使用,getConnection 方法可以根据不同的 dataSourceName 返回不同的数据库连接,其它场景下可以忽略该参数。 3.2 集成Spring Boot应用系统基于Spring Boot 框架开发时,无需手动注入数据源,请按下列方法进行配置即可: spring: profiles: name: objective-sql-example active: development datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:4406/objective_sql username: root password: ****** hikari: idle-timeout: 10000 maximum-pool-size: 10 minimum-idle: 5 pool-name: Master # Configurations for multiple databases extensions: # The name of data source, which will match with @DomainModel definition slave: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:4406/objective_sql username: root password: ****** hikari: idle-timeout: 10000 maximum-pool-size: 10 minimum-idle: 5 pool-name: Slave 复制代码其中 extensions 标记仅当多数据源时需要配置,而slave 作为数据源名称,应该与DomainModel 中定义的数据源名称匹配,或者通过DomainModelDescriptro 中动态数据源名称匹配。 4 简单SQL 编程指南ObjectiveSQL 提供的简单SQL 编程主要针对单表的相关 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |