diff --git a/.gitignore b/.gitignore
index 224e046..84d9d31 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
.settings
.classpath
.project
-target
\ No newline at end of file
+target
+jdbctemplatetool.iml
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 801e06d..8d3db01 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,11 +87,19 @@ Based on those questions I create JdbcTemplateTool which can provide these featu
5.1.19
test
+
+
+ com.google.guava
+ guava
+ 19.0
+
+
- org.crazycake
- camel-name-utils
- 1.0.0-RELEASE
+ org.apache.commons
+ commons-lang3
+ 3.7
+
diff --git a/src/main/java/org/crazycake/jdbcTemplateTool/JdbcTemplateTool.java b/src/main/java/org/crazycake/jdbcTemplateTool/JdbcTemplateTool.java
index 1e28206..2ada929 100644
--- a/src/main/java/org/crazycake/jdbcTemplateTool/JdbcTemplateTool.java
+++ b/src/main/java/org/crazycake/jdbcTemplateTool/JdbcTemplateTool.java
@@ -74,7 +74,6 @@ public List list(String sql, Object[] params, Class clazz) {
* get count
* @param sql
* @param params
- * @param clazz
* @return
*/
public int count(String sql, Object[] params) {
@@ -103,8 +102,6 @@ public int count(String sql, Object[] params) {
/**
* 获取一个对象
* get object by id
- * @param sql
- * @param params
* @param clazz
* @return
* @throws NoIdAnnotationFoundException
diff --git a/src/main/java/org/crazycake/jdbcTemplateTool/utils/IdUtils.java b/src/main/java/org/crazycake/jdbcTemplateTool/utils/IdUtils.java
index 9ad0565..e26b1d6 100644
--- a/src/main/java/org/crazycake/jdbcTemplateTool/utils/IdUtils.java
+++ b/src/main/java/org/crazycake/jdbcTemplateTool/utils/IdUtils.java
@@ -7,7 +7,8 @@
import javax.persistence.GenerationType;
import javax.persistence.Id;
-import org.crazycake.utils.CamelNameUtils;
+import com.google.common.base.CaseFormat;
+import org.apache.commons.lang3.StringUtils;
public class IdUtils {
@@ -31,7 +32,7 @@ public static String getAutoGeneratedId(Object po) throws SecurityException, NoS
}
//获取getter方法
- String getterName = "get" + CamelNameUtils.capitalize(f.getName());
+ String getterName = "get" + StringUtils.capitalize(f.getName());
Method getter = po.getClass().getDeclaredMethod(getterName);
Id idAnno = getter.getAnnotation(Id.class);
@@ -60,9 +61,27 @@ public static String getAutoGeneratedId(Object po) throws SecurityException, NoS
* @throws NoSuchMethodException
*/
public static void setAutoIncreamentIdValue(Object po,String autoGeneratedId,Object idValue) throws Exception, NoSuchMethodException{
- String setterName = "set" + CamelNameUtils.capitalize(autoGeneratedId);
+ String setterName = "set" + StringUtils.capitalize(autoGeneratedId);
Method setter = po.getClass().getDeclaredMethod(setterName, idValue.getClass());
setter.invoke(po, idValue);
}
-
+
+ /**
+ * Convert underscore style to camel style
+ * @param name
+ * @return
+ */
+ public static String toCamel(String name) {
+ return CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, name);
+ }
+
+ /**
+ * Convert camel style to underscore style
+ * @param name
+ * @return
+ */
+ public static String toUnderscore(String name) {
+ return CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, name);
+ }
+
}
diff --git a/src/main/java/org/crazycake/jdbcTemplateTool/utils/ModelSqlUtils.java b/src/main/java/org/crazycake/jdbcTemplateTool/utils/ModelSqlUtils.java
index 3315396..1173b3a 100644
--- a/src/main/java/org/crazycake/jdbcTemplateTool/utils/ModelSqlUtils.java
+++ b/src/main/java/org/crazycake/jdbcTemplateTool/utils/ModelSqlUtils.java
@@ -10,11 +10,11 @@
import javax.persistence.Table;
import javax.persistence.Transient;
-import org.crazycake.jdbcTemplateTool.exception.NoColumnAnnotationFoundException;
+ import org.apache.commons.lang3.StringUtils;
+ import org.crazycake.jdbcTemplateTool.exception.NoColumnAnnotationFoundException;
import org.crazycake.jdbcTemplateTool.exception.NoDefinedGetterException;
import org.crazycake.jdbcTemplateTool.exception.NoIdAnnotationFoundException;
import org.crazycake.jdbcTemplateTool.model.SqlParamsPairs;
-import org.crazycake.utils.CamelNameUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -114,7 +114,7 @@ public static SqlParamsPairs getInsertFromObject(T po) throws Exception{
* @return
*/
private static Method getGetter(Class clazz, Field f){
- String getterName = "get" + CamelNameUtils.capitalize(f.getName());
+ String getterName = "get" + StringUtils.capitalize(f.getName());
Method getter = null;
try {
getter = clazz.getMethod(getterName);
@@ -126,7 +126,6 @@ private static Method getGetter(Class clazz, Field f){
/**
* 从po类获取表名
- * @param po
* @return
*/
private static String getTableName(Class clazz) {
@@ -140,7 +139,7 @@ private static String getTableName(Class clazz) {
}
//if Table annotation is null
String className = clazz.getName();
- return CamelNameUtils.camel2underscore(className.substring(className.lastIndexOf(".")+1));
+ return IdUtils.toUnderscore(className.substring(className.lastIndexOf(".")+1));
}
@@ -296,7 +295,6 @@ public static SqlParamsPairs getDeleteFromObject(Object po) throws Exception{
/**
* 获取根据主键查对象的sql和参数
- * @param po
* @param id
* @return
* @throws NoIdAnnotationFoundException
@@ -357,7 +355,6 @@ public static SqlParamsPairs getGetFromObject(Class clazz,Object id) thro
/**
* use getter to guess column name, if there is annotation then use annotation value, if not then guess from field name
* @param getter
- * @param clazz
* @param f
* @return
* @throws NoColumnAnnotationFoundException
@@ -372,7 +369,7 @@ private static String getColumnNameFromGetter(Method getter,Field f){
if(columnName == null || "".equals(columnName)){
//如果没有列注解就用命名方式去猜
- columnName = CamelNameUtils.camel2underscore(f.getName());
+ columnName = IdUtils.toUnderscore(f.getName());
}
return columnName;
}