From a3f02b777c4fe547a7f40833bbfac425c64fe48a Mon Sep 17 00:00:00 2001 From: 王彬 Date: Thu, 5 Sep 2019 14:18:23 +0800 Subject: [PATCH] 1. 增加page bean 2. 增加bean切面接口 --- build.gradle | 2 +- src/main/java/com/taover/repository/CustomJdbcTemplate.java | 24 +++++++++++++++++++----- src/main/java/com/taover/repository/CustomJdbcTemplateRowMapper.java | 43 +++++++++++++++++++++++++++++++++++++------ src/main/java/com/taover/repository/EntityPointCut.java | 8 ++++++++ 4 files changed, 65 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/taover/repository/EntityPointCut.java diff --git a/build.gradle b/build.gradle index f3c0194..dffe06e 100644 --- a/build.gradle +++ b/build.gradle @@ -51,7 +51,7 @@ uploadArchives { authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD) } pom.project { - version '2.0.4' + version '2.1.0' artifactId ARTIFACT_Id groupId GROUP_ID packaging TYPE diff --git a/src/main/java/com/taover/repository/CustomJdbcTemplate.java b/src/main/java/com/taover/repository/CustomJdbcTemplate.java index 6125d43..0c80d20 100644 --- a/src/main/java/com/taover/repository/CustomJdbcTemplate.java +++ b/src/main/java/com/taover/repository/CustomJdbcTemplate.java @@ -110,7 +110,7 @@ public class CustomJdbcTemplate { * @param name 转换前的驼峰式命名的字符串 * @return 转换后下划线大写方式命名的字符串 */ - public String camelToUnderline(String name) { + private String camelToUnderline(String name) { StringBuilder result = new StringBuilder(); if (name != null && name.length() > 0) { // 将第一个字符处理成大写 @@ -135,7 +135,7 @@ public class CustomJdbcTemplate { * @param name 转换前的下划线大写方式命名的字符串 * @return 转换后的驼峰式命名的字符串 */ - public String underlineToCamel(String name) { + private String underlineToCamel(String name) { StringBuilder result = new StringBuilder(); // 快速检查 if (name == null || name.isEmpty()) { @@ -165,7 +165,7 @@ public class CustomJdbcTemplate { return result.toString(); } - public void appendWhereCondition(StringBuffer sql, StringBuffer pql, List list, List condition) { + private void appendWhereCondition(StringBuffer sql, StringBuffer pql, List list, List condition) { if (condition == null || condition.size() == 0) return; Object[] con = condition.get(0); int iLen = condition.size(); @@ -191,7 +191,7 @@ public class CustomJdbcTemplate { } } - public void appendWhereConditionForCount(StringBuffer sql, List condition) { + private void appendWhereConditionForCount(StringBuffer sql, List condition) { if (condition == null || condition.size() == 0) return; Object[] con = condition.get(0); int iLen = condition.size(); @@ -209,7 +209,7 @@ public class CustomJdbcTemplate { } } - public void appendSql(StringBuffer sql, StringBuffer pql, List list, List obj) { + private void appendSql(StringBuffer sql, StringBuffer pql, List list, List obj) { for (Object[] arg : obj) { String opt = "="; if (arg.length > 2) { @@ -625,6 +625,20 @@ public class CustomJdbcTemplate { return UtilsSql.createPage(page, Integer.valueOf(countData.get("rows").toString()), queryData); } + public Map getBeanPageData(String coreSql, String orderByPartSql, Integer page, Integer pageSize, Class beanClass){ + //构造查询语句 + String querySql = coreSql+orderByPartSql+UtilsSql.getLimitCondition(page, pageSize); + + //构造统计计数语句 + String countSql = "select count(*) rows from ("+coreSql+" ) t "; + + //执行查询 + List queryData = new ArrayList(); + Map countData = new HashMap(); + queryData = this.jdbcTemplateRead.queryForList(querySql, beanClass); + countData = this.jdbcTemplateRead.queryForMap(countSql); + return UtilsSql.createPage(page, Integer.valueOf(countData.get("rows").toString()), queryData); + } /** * 按主键查询 diff --git a/src/main/java/com/taover/repository/CustomJdbcTemplateRowMapper.java b/src/main/java/com/taover/repository/CustomJdbcTemplateRowMapper.java index a0875ff..e153b17 100644 --- a/src/main/java/com/taover/repository/CustomJdbcTemplateRowMapper.java +++ b/src/main/java/com/taover/repository/CustomJdbcTemplateRowMapper.java @@ -1,6 +1,7 @@ package com.taover.repository; import java.lang.reflect.Field; +import java.lang.reflect.Method; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Map; @@ -8,24 +9,43 @@ import java.util.Map; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.support.rowset.ResultSetWrappingSqlRowSetMetaData; -public class CustomJdbcTemplateRowMapper implements RowMapper{ - private Class classInfo; +public class CustomJdbcTemplateRowMapper implements RowMapper{ + private Class classInfo; private Map tableToBeanMap; - public CustomJdbcTemplateRowMapper(Class classInfo, Map tableToBeanMap) { + public CustomJdbcTemplateRowMapper(Class classInfo, Map tableToBeanMap) { this.classInfo = classInfo; this.tableToBeanMap = tableToBeanMap; } @Override - public Object mapRow(ResultSet rs, int index) throws SQLException { - Object targetObj; + public E mapRow(ResultSet rs, int index) throws SQLException { + boolean hasImplementPointCut = false; + Class[] interfaceArr = this.classInfo.getInterfaces(); + for(int i=0; i