rs = stmt.executeQuery("SELECT USER()");
if (rs.next())
log.debug("Mysql : user=" + rs.getString(1));
rs.close();
stmt.close();
// 列出所有MyISAM引擎的表,这些表不支持事务
PreparedStatement pstmt = conn.prepareStatement("SELECT TABLE_NAME FROM information_schema.TABLES where TABLE_SCHEMA = ? and engine = 'MyISAM'");
pstmt.setString(1, dbName);
rs = pstmt.executeQuery();
if (rs.next())
log.debug("Mysql : '" + rs.getString(1) + "' engine=MyISAM");
rs.close();
pstmt.close();
上面这段代码需要访问information_schema这个库,而且是写死在代码里面的,实际应用中会存在问题,有可能应用所持有的数据源并没有information_schema访问权限,还有就是使用分库分表的数据源也不会配置information_schema数据源访问,虽然不影响使用,但是还是希望能再下一个版本优化下,谢谢!