Tiintint返回所存在的问题

来源:爱站网时间:2022-01-22编辑:网友分享
很多朋友在处理java编程中,都会遇到Tiintint返回为DatabaseMetaData JAVA中的BIT问题,这个问题需要怎么解决比较好呢?下面让爱站技术频道小编来给大家分析分析下。

问题描述


MySql tinyint在Java中以BIT的形式返回,列大小以null的形式返回。对于其他数据类型,它工作正常。任何解决方案?

Class clsObj = Class.forName(className);
AbstractEntityPersister classMetadata = (AbstractEntityPersister) getSessionFactory().getClassMetadata(clsObj);
String[] properties = classMetadata.getPropertyNames();
String tableName = classMetadata.getTableName();

Map dbFieldToPojoFieldMap = new HashMap();
for (String prop : properties) {
    String[] names = classMetadata.getPropertyColumnNames(prop);
    dbFieldToPojoFieldMap.put(names[0], prop);
}

DatabaseMetaData meta = con.getMetaData();
ResultSet rsColumns = meta.getColumns(null, null, tableName, null);

while (rsColumns.next()) {
    Map columnMetaData = new HashMap();
    String columnName = rsColumns.getString(Constants.COLUMN_NAME);
    String columnType = rsColumns.getString(Constants.TYPE_NAME);
    String columnSize = rsColumns.getString(Constants.COLUMN_SIZE);
    String decimalDigits = rsColumns.getString(Constants.DECIMAL_DIGITS);
}

思路:


我们有类似的问题。看起来MySQL的较新版本(即版本5.0.6,如​​8)定义了BIT列类型,该列类型是TINYINT(1)的别名。另外,已经引入了BOOLBOOLEAN。为了为我们解决此问题,我们决定使用java连接字符串选项"tinyInt1isBit=false"来正确报告正确定义的TINYINT列。我们不使用BIT。希望这会有所帮助。

以上相关问题内容,不知道各位小伙伴都看清楚了没有,还有不解的地方可以随时来咨询小编。爱站技术频道网站专业提供不一样的技术问题。

上一篇:使用pagefactory注释所面临的问题怎么解决

下一篇:怎么在Java中调用已声明的变量

相关阅读

热门软件源码

最新软件源码下载