之前对接了PostGreSql和iris和Cache库,表的主键列都是RowID,列同时区分大小写带引号。这次试试连人大金仓库,主键列不叫RowID了,改id,然后不使用大小写。
代码生成器生成的代码效果
测试表
生成实体
生成后台
生成界面
驱动类实现,这里处理列名不用拼引号了
package JRT.Dal.Base;
import JRT.Core.MultiPlatform.JRTConfigurtaion;
import JRT.Core.Util.Convert;
/**
* 人大金仓库连接驱动
* jdbc:kingbase8://10.8.4.66:54321/模式名称?characterEncoding=utf8
*/
public class KingBase implements JRT.DAL.ORM.DBUtility.IDbFactory {
/**
* 得到数据库类型
*
* @return
*/
public String GetStrDbType() {
return "kingbase";
}
/**
* 得到数据库连接串,先写死,后面从配置取
*
* @return
*/
public String GetConnectionString() throws Exception {
System.out.println("连接串:"+ JRTConfigurtaion.Configuration("ConnectionString"));
return JRTConfigurtaion.Configuration("ConnectionString");
}
/**
* 得到数据库用户名
*
* @return
*/
public String GetUserName() throws Exception {
return JRTConfigurtaion.Configuration("UserName");
}
/**
* 得到数据库密码
*
* @return
*/
public String GetUserPass() throws Exception {
return JRTConfigurtaion.Configuration("UserPass");
}
/**
* 得到返回查询的RowID的SQL语句,供插入数据得到RowID用
*
* @return
*/
public String GetReturnRowIDSql() {
return " RETURNING id";
}
/**
* 处理表名称,用来适配不同数据库间的属性命名差异
*
* @param tableName 表名
* @return
*/
public String DealTableName(String tableName) {
return tableName;
}
/**
* 处理属性名字
*
* @param propertyName 属性名字
* @return
*/
public String DealPropertyName(String propertyName) {
return propertyName;
}
/**
* 处理Sql参数
*
* @param propertyName 属性名字
* @return
*/
public String DealSqlPara(String propertyName) {
return "?";
}
/**
* 处理top的SQL语句
* @param sql
* @param topNum
* @return 返回拼好的topSQL
*/
public String DealTopSql(String sql,int topNum)
{
return sql+" limit "+topNum;
}
/**
* 加载驱动
*
* @return
*/
public String GetDriver() {
return "com.kingbase8.Driver";
}
/**
* 得到初始化连接串大小
*
* @return
*/
public int GetInitPoolSize() throws Exception {
String initSize = JRTConfigurtaion.Configuration("PoolInitPoolSize");
return Convert.ToInt32(initSize);
}
/**
* 得到最大连接串大小
*
* @return
*/
public int GetMaxPoolSize() throws Exception {
String maxSize = JRTConfigurtaion.Configuration("PoolMaxPoolSize");
return Convert.ToInt32(maxSize);
}
}
配置使用的驱动
配置连接串
这样就把支持扩展到了人大金仓了