Package org.jeecgframework.web.cgform.service.impl.config.util

Source Code of org.jeecgframework.web.cgform.service.impl.config.util.DbTableUtil

package org.jeecgframework.web.cgform.service.impl.config.util;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.jeecgframework.web.cgform.service.config.DbTableHandleI;
import org.jeecgframework.web.cgform.service.config.DbTableServiceI;
import org.jeecgframework.web.cgform.service.impl.config.DbTableMysqlHandleImpl;
import org.jeecgframework.web.cgform.service.impl.config.DbTableOracleHandleImpl;
import org.jeecgframework.web.cgform.service.impl.config.DbTablePostgresHandleImpl;
import org.jeecgframework.web.cgform.service.impl.config.DbTableServiceMysqlImpl;
import org.jeecgframework.web.cgform.service.impl.config.TableSQLServerHandleImpl;

import org.hibernate.Session;
import org.hibernate.internal.SessionImpl;

/**
* 数据库工具类
* @author jueyue
* 2013年7月6日
*/
public class DbTableUtil {
 
  /**
   * 获取列的Map
   * key 是 cloumn_name value 是 List<Map<String, Object>>
   * @param queryForList
   * @return
   */
  public static Map<String, Object> getColumnMap(
      List<Map<String, Object>> queryForList) {
    Map<String, Object> columnMap = new HashMap<String, Object>();
    for(int i =0 ;i<queryForList.size();i++){
      columnMap.put(queryForList.get(i).get("column_name").toString(), queryForList.get(i));
    }
    return columnMap;
  }
 
  /**
   * 把配置中的字段翻译成数据库中的字段  如:A ---> _a
   * @param fileName
   * @return
   */
  public static String translatorToDbField(String fileName){
   
    //去掉转换
    return fileName;
//    String name = "";
//    char[] chars = fileName.toCharArray();
//    for(int i =0 ;i<chars.length;i++){
//      name+= chars[i]>'A'&&chars[i]<'Z'?("_"+Character.toLowerCase(chars[i])):chars[i];
//    }
//    return name;
  }
 
  /**
   * 获取DB 维护表的工具类
   * @return
   */
  public static DbTableServiceI getTableUtil(Session  session) {
    DbTableServiceI tableUtil = null;
    String dialect = ((SessionImpl)session).getFactory().getDialect()
        .getClass().getName();
    if (dialect.equals("org.hibernate.dialect.MySQLDialect")) {
      tableUtil = new DbTableServiceMysqlImpl();
    }
    return tableUtil;
  }

  public static DbTableHandleI getTableHandle(Session  session) {
    DbTableHandleI dbTableHandle = null;
    String dialect = ((SessionImpl)session).getFactory().getDialect()
        .getClass().getName();
    if (dialect.equals("org.hibernate.dialect.MySQLDialect")) {
      dbTableHandle = new DbTableMysqlHandleImpl();
    }else if (dialect.contains("Oracle")) {
      dbTableHandle = new DbTableOracleHandleImpl();
    }else if (dialect.equals("org.hibernate.dialect.PostgreSQLDialect")) {
      dbTableHandle = new DbTablePostgresHandleImpl();
    }else if (dialect.equals("org.hibernate.dialect.SQLServerDialect")) {
      dbTableHandle = new TableSQLServerHandleImpl();
    }
    return dbTableHandle;
  }
 
  /**
   * 数据库类型
   * @param session
   * @return
   */
 
  public static String getDataType(Session session){
    String dataType="MYSQL";
    String dialect = ((SessionImpl)session).getFactory().getDialect()
    .getClass().getName();
    if (dialect.equals("org.hibernate.dialect.MySQLDialect")) {
      dataType="MYSQL";
    }else if (dialect.contains("Oracle")) {
      dataType="ORACLE";
    }else if (dialect.equals("org.hibernate.dialect.PostgreSQLDialect")) {
      dataType = "POSTGRESQL";
    }else if (dialect.equals("org.hibernate.dialect.SQLServerDialect")) {
      dataType="SQLSERVER";
    }
    return dataType;
  }
}
TOP

Related Classes of org.jeecgframework.web.cgform.service.impl.config.util.DbTableUtil

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.