# jdbc-template-plus **Repository Path**: cofenghen/jdbc-template-plus ## Basic Information - **Project Name**: jdbc-template-plus - **Description**: java jdbc-template扩展支持orm,支持增删改查,编写sql在代码里,逻辑灵活,支持dynamic-datasource多数据源,相比mybatis等xml等风格,提供了另外的选择,简单、轻量,适合spring boot 3.0以上的版本 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-05-14 - **Last Updated**: 2025-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jdbc-template-plus java jdbc-template扩展支持orm,支持增删改查,编写sql在代码里,逻辑灵活,支持dynamic-datasource多数据源,相比mybatis等xml等风格,提供了另外的选择,简单、轻量 maven 引入: ``` yaml io.gitee.cofenghen jdbc-template-plus 1.0.0 ``` ## 背景 ## 快速开始 ### 简单模式 在application 引入 @EnableOrmTemplate 例如范例 ``` java @Slf4j @SpringBootApplication @EnableOrmTemplate //引入注入启动项 public class JdbctemplatePlusExampleApplication { public static void main(String[] args){ } } ``` 就可以在其他服务层引入注入方法 ,如下 ``` java @Autowired private IOrmTemplate ormOperations; ``` - 新增 ``` java User user=new User(); user.setName("11"); user.setId(1) var result2 = ormOperations.insert(user); ``` - 修改 ``` java user.setApproveUsername("测试"); var result3 = ormOperations.updateById(user.getId(),user); ``` - 删除 ``` java ormOperations.deleteById(User.class,1) ``` - 按主键查询 ``` java ormOperations.queryById(User.class,1); ``` - 按多条件查询 ``` java QueryCondition queryCondition=new QueryCondition<>(); queryCondition.add(new Condition(ArcSearch::getId, Operator.EQ,1)); queryCondition.add(new Condition(ArcSearch::getName, Operator.EQ,"颤三")); var result = ormOperations.query(User.class,queryCondition); ``` ### 仓储模式 ### 分页 ormOperations.ado().selectPageList("user a","a.*",null,null,"searchid",null,null,null,1,10,"",ArcSearch.class); 分页操作统一规范,默认采用ROW_NUMBER(),Oracle 、MySQL(8+)、SQL Server、PostgreSQL 都支持 若各别版本不支持可重写方言 ,比如重写oracle范例 新建一个类 代码如下 ``` java public class OracleServerSQLDialect implements DialectStrategy { @Override public SelectPageMapListSqlModel getLimitSql(String sql_table, String sql_column, String sql_where, String pk_Filed, String orderField, String orderType, LinkedHashMap defaultOrderFieldMap, int pageIndex, int pageSize, String sql_column_top, boolean selectCount) { //代码可以参照 DefaultSQLDialect SelectPageMapListSqlModel selectPageMapListSqlModel=new SelectPageMapListSqlModel(); return selectPageMapListSqlModel; } } ``` 在启动项main引入 ``` java BaseJdbcTemplePlus.registerDialect("Oracle",OracleServerSQLDialect::new); #其他数据库 BaseJdbcTemplePlus.registerDialect("MySQL", MySQLDialect::new); BaseJdbcTemplePlus.registerDialect("Oracle", OracleSQLDialect::new); BaseJdbcTemplePlus.registerDialect("SQL Server", PostgreSQLDialect::new); BaseJdbcTemplePlus.registerDialect("PostgreSQL", PostgreSQLDialect::new); BaseJdbcTemplePlus.registerDialect("SQLite", SQLServerSQLDialect::new) ``` ## 版权 JdbcTemplatePlus is under the Apache 2.0 license. See the [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0) file for details.