public static JdbcExpert getExpert(String productName, String version) {
    """
	根据数据库的产品名称，获取其专属的 Expert
	<p>
	映射的规则存放在 JSON 文件 "nutz_jdbc_experts.js" 中，你可以通过建立这个文件修改 Nutz 的默认映射规则
	<p>
	比如下面的文件，将支持两种数据库
	
	<pre>
	{
	experts : {
	"postgresql.*" : "org.nutz.dao.impl.jdbc.psql.PostgresqlExpert",
	"mysql.*" :  "org.nutz.dao.impl.jdbc.mysql.MysqlExpert"
	},
	config : {
	"temp-home" : "~/.nutz/tmp/dao/",
	"temp-max" : 2000
	}
	}
	</pre>
	
	本函数传入的两个参数将会被:
	
	<pre>
	String.format(&quot;%s::NUTZ_JDBC::%s&quot;, productName, version);
	</pre>
	
	并被你声明的正则表达式(expert 段下的键值)依次匹配，如果匹配上了，就会用相应的类当作驱动封装类
	
	@param productName
	数据库产品名称
	@param version
	数据库版本号
	
	@return 该数据库的特殊驱动封装类
	
	@see java.sql.Connection#getMetaData()
	@see java.sql.DatabaseMetaData#getDatabaseProductName()
    """
        String dbName = String.format("%s::NUTZ_JDBC::%s", productName, version).toLowerCase();

        JdbcExpert re = conf.matchExpert(dbName);

        if (null == re) {
        	log.warnf("unknow database type '%s %s', fallback to MySql 5", productName, version);
        	re = conf.matchExpert("mysql 5");
        }

        return re;
    }
public static JdbcExpert getExpert(String productName, String version) {
        String dbName = String.format("%s::NUTZ_JDBC::%s", productName, version).toLowerCase();

        JdbcExpert re = conf.matchExpert(dbName);

        if (null == re) {
        	log.warnf("unknow database type '%s %s', fallback to MySql 5", productName, version);
        	re = conf.matchExpert("mysql 5");
        }

        return re;
    }
public static JdbcExpert getExpert ( String productName , String version ) { String dbName = String . format ( "%s::NUTZ_JDBC::%s" , productName , version ) . toLowerCase ( ) ; JdbcExpert re = conf . matchExpert ( dbName ) ; if ( null == re ) { log . warnf ( "unknow database type '%s %s', fallback to MySql 5" , productName , version ) ; re = conf . matchExpert ( "mysql 5" ) ; } return re ; }
根据数据库的产品名称，获取其专属的 Expert
<p>
映射的规则存放在 JSON 文件 "nutz_jdbc_experts.js" 中，你可以通过建立这个文件修改 Nutz 的默认映射规则
<p>
比如下面的文件，将支持两种数据库

<pre>
{
experts : {
"postgresql.*" : "org.nutz.dao.impl.jdbc.psql.PostgresqlExpert",
"mysql.*" :  "org.nutz.dao.impl.jdbc.mysql.MysqlExpert"
},
config : {
"temp-home" : "~/.nutz/tmp/dao/",
"temp-max" : 2000
}
}
</pre>

本函数传入的两个参数将会被:

<pre>
String.format(&quot;%s::NUTZ_JDBC::%s&quot;, productName, version);
</pre>

并被你声明的正则表达式(expert 段下的键值)依次匹配，如果匹配上了，就会用相应的类当作驱动封装类

@param productName
数据库产品名称
@param version
数据库版本号

@return 该数据库的特殊驱动封装类

@see java.sql.Connection#getMetaData()
@see java.sql.DatabaseMetaData#getDatabaseProductName()
根据数据库的产品名称，获取其专属的 Expert <p > 映射的规则存放在 JSON 文件 nutz_jdbc_experts . js 中，你可以通过建立这个文件修改 Nutz 的默认映射规则 <p > 比如下面的文件，将支持两种数据库