| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394 |
- package QCM.COMMUNAL.QCM02;
- import java.beans.BeanInfo;
- import java.beans.Introspector;
- import java.beans.PropertyDescriptor;
- import java.sql.ResultSet;
- import java.sql.ResultSetMetaData;
- import java.sql.SQLException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.GregorianCalendar;
- import java.util.List;
- import javax.script.ScriptEngine;
- import javax.script.ScriptEngineManager;
- import javax.script.ScriptException;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONException;
- import com.alibaba.fastjson.JSONObject;
- public class SqlJoint {
- public static String resultSetToJson(ResultSet rs) throws SQLException,JSONException
- {
- // json����
- JSONArray array = new JSONArray();
-
- // ��ȡ����
- ResultSetMetaData metaData = rs.getMetaData();
- int columnCount = metaData.getColumnCount();
-
- // ����ResultSet�е�ÿ�����
- while (rs.next()) {
- JSONObject jsonObj = new JSONObject();
-
- // ����ÿһ��
- for (int i = 1; i <= columnCount; i++) {
- String columnName =metaData.getColumnLabel(i);
- String value = rs.getString(columnName);
- jsonObj.put(columnName, value);
- }
- array.add(jsonObj);
- }
-
- return array.toString();
- }
-
- /**
- * ����ʵ����֮�����ͬ���Ը�ֵ
- * @param source �����Ƶ�ʵ�������
- * @param to ��������ʵ�������
- * @throws Exception
- */
- public static void CopyEntity(Object source, Object to) throws Exception {
- // ��ȡ����
- BeanInfo sourceBean = Introspector.getBeanInfo(source.getClass(),java.lang.Object.class);
- PropertyDescriptor[] sourceProperty = sourceBean.getPropertyDescriptors();
-
- BeanInfo destBean = Introspector.getBeanInfo(to.getClass(),java.lang.Object.class);
- PropertyDescriptor[] destProperty = destBean.getPropertyDescriptors();
- String sourceName="",destName="";
- try {
- for (int i = 0; i < sourceProperty.length; i++) {
- for (int j = 0; j < destProperty.length; j++) {
- sourceName=sourceProperty[i].getName().replaceAll("_", "").toLowerCase();
- destName=destProperty[j].getName().replaceAll("_", "").toLowerCase();
- if (sourceName.equals(destName)) {
- System.out.print(sourceName+"=="+destName);
- // ����source��getter������dest��setter����
- destProperty[j].getWriteMethod().invoke(to,sourceProperty[i].getReadMethod().invoke(source));
- break;
- }
- }
- }
- } catch (Exception e) {
- throw new Exception("����"+sourceName+"����ʧ��");
- }
- }
-
- /**
- *ResultSetת��ΪJSON����
- *
- * @param ResultSet
- * @return JSONArray
- */
- public static JSONArray resultSetToJsonArry(ResultSet rs) throws SQLException, JSONException {
- JSONArray array = new JSONArray();
- ResultSetMetaData metaData = rs.getMetaData();
- int columnCount = metaData.getColumnCount();
- while (rs.next()) {
- JSONObject jsonObj = new JSONObject();
- for (int i = 1; i <= columnCount; i++) {
- String columnName = metaData.getColumnLabel(i);
- String value = rs.getString(columnName);
- jsonObj.put(columnName, value);
- }
- array.add(jsonObj);
- }
- return array;
- }
- public static boolean IsNullOrSpace(String value){
- if(value==null){
- return true;
- }else{
- return value.trim().equals("");
- }
- }
- /**
- * ����Ƿ��ϱ�
- * @param sign ���
- * @param signValue ��ֵ
- * @param value �Ա�ֵ
- * @return
- */
- public static boolean checkSignAndValue1(String sign,Double signValue,String value){
- if(sign==null){
- return true;
- }else if(value==null||value==""){
- return false;
- }
- /*switch(sign){
- case ">":
- return signValue.doubleValue()<Double.parseDouble(value);
- case ">=":
- return signValue.doubleValue()<=Double.parseDouble(value);
- case "<":
- return signValue.doubleValue()>Double.parseDouble(value);
- case "<=":
- return signValue.doubleValue()>=Double.parseDouble(value);
- case "=":
- return signValue.doubleValue()==Double.parseDouble(value);
- default:
- return true;
- }*/
- if(sign.equals(">"))
- return signValue.doubleValue()<Double.parseDouble(value);
- else if(sign.equals(">="))
- return signValue.doubleValue()<=Double.parseDouble(value);
- else if(sign.equals("<"))
- return signValue.doubleValue()>Double.parseDouble(value);
- else if(sign.equals("<="))
- return signValue.doubleValue()>=Double.parseDouble(value);
- else if(sign.equals("="))
- return signValue.doubleValue()==Double.parseDouble(value);
- else
- return true;
- }
- /**
- * ����Ƿ��ϱ�
- * @param sign ���
- * @param signValue ��ֵ
- * @param value �Ա�ֵ
- * @return
- */
- public static boolean checkSignAndValue(String sign,Double signValue,String value){
- if(value==null||value==""){
- return true;
- }
- if(sign==null){
- return true;
- }
- /*switch(sign){
- case ">":
- return signValue.doubleValue()<Double.parseDouble(value);
- case ">=":
- return signValue.doubleValue()<=Double.parseDouble(value);
- case "<":
- return signValue.doubleValue()>Double.parseDouble(value);
- case "<=":
- return signValue.doubleValue()>=Double.parseDouble(value);
- case "=":
- return signValue.doubleValue()==Double.parseDouble(value);
- default:
- return true;
- }*/
- if(sign.equals(">"))
- return signValue.doubleValue()<Double.parseDouble(value);
- else if(sign.equals(">="))
- return signValue.doubleValue()<=Double.parseDouble(value);
- else if(sign.equals("<"))
- return signValue.doubleValue()>Double.parseDouble(value);
- else if(sign.equals("<="))
- return signValue.doubleValue()>=Double.parseDouble(value);
- else if(sign.equals("="))
- return signValue.doubleValue()==Double.parseDouble(value);
- else
- return true;
- }
-
- /**
- * ��������
- * @param filed ��ݿ��ֶ���
- * @param start ��ʼ����
- * @param end ��������
- * @return
- */
- public static String CreateSqlConditionDate(String filed,Date start,Date end){
- Calendar calendar=new GregorianCalendar();
- calendar.setTime(end);
- calendar.add(Calendar.DATE,1);
- end=calendar.getTime();
- String condition=filed+" BeTween to_Date('" +SqlJoint.GetDateFormatString(start, Enum_DateType.Date_long)+ "','yyyy-MM-dd hh24:mi:ss') "+
- " And to_Date('" + SqlJoint.GetDateFormatString(end, Enum_DateType.Date_long) + "','yyyy-MM-dd hh24:mi:ss')";
- return condition;
- }
-
- /**
- * ����תString����
- * @param date ����
- * @param dateType ��ʽ������
- * @return
- */
- public static String GetDateFormatString(Date date,Enum_DateType dateType){
- SimpleDateFormat simpleFormat=GetDateFormat(dateType.toString());
- return simpleFormat.format(date);
- }
-
- /**
- * ���ڸ�ʽ����
- * @author ZQ
- *
- */
- public enum Enum_DateType{
- /**
- * yyyyMMdd
- */
- Date_Customer,
-
- /**
- * ������ yyyy-MM-dd HH:mm:ss
- */
- Date_long,
- /**
- * ������ yyyy-MM-dd
- */
- Date_Short,
- /**
- * �ꡢ����� yyyy-MM
- */
- Date_YearJoinMonth,
- /**
- * �¡������ MM-dd
- */
- Date_MonthJoinDay
-
- }
-
- /**
- * �������ڸ�ʽ����
- * @param dateType ��������
- * @return
- */
- public static SimpleDateFormat GetDateFormat(String dateType){
- SimpleDateFormat simpleFormat=new SimpleDateFormat();
- Enum_DateType _dateType=Enum_DateType.valueOf(dateType);
- switch (_dateType) {
- case Date_Customer:
- simpleFormat.applyPattern("yyyyMMdd");
- break;
- case Date_long:
- simpleFormat.applyPattern("yyyy-MM-dd HH:mm:ss");
- break;
- case Date_Short:
- simpleFormat.applyPattern("yyyy-MM-dd");
- break;
- case Date_YearJoinMonth:
- simpleFormat.applyPattern("yyyy-MM");
- break;
- case Date_MonthJoinDay:
- simpleFormat.applyPattern("MM-dd");
- break;
- default:
- simpleFormat.applyPattern("yyyy-MM-dd HH:mm:ss");
- break;
- }
- return simpleFormat;
-
- }
-
- /**
- * ִ�б��ʽ
- * @param expression ���ʽ
- * @return ������
- * @throws ScriptException
- */
- public static double GetFormulaResult(String expression) throws ScriptException{
- ScriptEngineManager _mgr=new ScriptEngineManager();
- ScriptEngine _enginer=_mgr.getEngineByName("javascript");
- Object result=_enginer.eval(expression);
- double value=Double.parseDouble(result.toString());
- return value;
- }
-
- /**
- * String ת double
- * @param value
- * @return
- */
- public static Double GetDouble(String value){
- if(value==null){
- return null;
- }else{
- return Double.parseDouble(value);
- }
- }
-
- /**
- * Double ת String
- * @param value
- * @return
- */
- public static String GetString(Double value){
- if(value==null){
- return null;
- }else{
- return value.toString();
- }
- }
-
- /**
- * ���ʹ��� ��sqlע��
- * @param value
- * @return
- */
- public static String TrimSqlDangerMark(String value){
- if(IsNullOrSpace(value)){
- return value;
- }else{
- return value.trim().replaceAll("'", "");
- }
- }
-
- /**
- * �����ѯcondition
- * @param listValue ԭ�ַ�ֵ��
- * @param field ��ݿ��ֶ���
- * @return
- */
- public static String CreateSqlCondition(List<String> listValue,String field){
- if(listValue==null||listValue.size()<1){
- return null;
- }else{
- StringBuilder condition=new StringBuilder(field+" in(");
- for (String value : listValue) {
- condition.append("'"+value+"',");
- }
- return condition.substring(0, condition.length()-1)+")";
- }
- }
-
- /**
- * �����ѯcondition
- * @param values ԭ�ַ�ֵ����
- * @param field ��ݿ��ֶ���
- * @param flag �ָ��ַ�
- * @return
- */
- public static String CreateSqlCondition(String values,String field,String flag){
-
- if(IsNullOrSpace(values)){
- return null;
- }else{
- String[] valueArray=values.split(flag);
- StringBuilder condition=new StringBuilder(field+" in(");
- for (String value : valueArray) {
- condition.append("'"+value+"',");
- }
- return condition.substring(0, condition.length()-1)+")";
- }
- }
-
- /**
- * �����ѯcondition
- * @param valueArray ԭ�ַ�ֵ����
- * @param field ��ݿ��ֶ���
- * @return
- */
- public static String CreateSqlCondition(String[] valueArray,String field){
- if(valueArray==null||valueArray.length<1){
- return null;
- }else{
- StringBuilder condition=new StringBuilder(field+" in(");
- for (String value : valueArray) {
- condition.append("'"+value+"',");
- }
- return condition.substring(0, condition.length()-1)+")";
- }
- }
- }
|