标签: ddlutils

来自apache的DDLUtils的替代品

我想知道有哪些替代方案可以替代Apache的DDL工具.

我问这个是因为ddlutils项目接缝是死的,而且它也不支持H2数据库.我搜索过它,然后找到像液体基地或飞路这样的建议.

我的问题是:这些框架在项目启动时运行,并根据某些XML文件更改数据库结构.它们真的是为数据库迁移而设计的.

我想要的是一个在高抽象级别运行时CREATE/ALTER表的框架,即至少支持Mysql,Sqlserver,oracle和H2.

例如,我可以告诉引擎我想创建一个带有类型编号的Field AGE的表,框架将改写为:

create table MY( id bigint(20))
create table MY(id bigint)
create table MY (id, number)
Run Code Online (Sandbox Code Playgroud)

取决于底层的数据库引擎.

有什么建议?

我可以看到ddlutils有一个补丁,因为它支持H2.但是我无法修补我的svn结账...

任何帮助将不胜感激.

谢谢提前瑞

java database ddl runtime ddlutils

13
推荐指数
1
解决办法
1342
查看次数

在Java中获取数据库元数据的最简单方法?

我对java.sql.DatabaseMetaData界面很熟悉,但我发现它非常笨重.例如,为了找出表名,您必须使用众所周知的文字作为列名来调用getTables并循环返回ResultSet.

是否有更简单的方法来获取数据库元数据?

java database metadata ddlutils

9
推荐指数
2
解决办法
5664
查看次数

用于读取数据库模式的Java库

我正在寻找一个轻量级,开源,或多或少的跨数据库Java库,这将允许我读取关于列,表和完整性约束的元信息DataSource.

java jdbc ddlutils database-schema

9
推荐指数
2
解决办法
5089
查看次数

使用 HSQLDB (2.2.8) + DDLUtils 自动递增

我想将 HSQLDB 用作嵌入式数据库,但无法让它自动递增

据我了解,[CALL] IDENTITY()可以用来获取最后一个主键值。然而,通过 iBatis 和 HSQLDB 的实验DatabaseManagerSwing不断返回 0 值。

如何获得自动增量以与 HSQLDB 一起使用?

编辑:

我没有提到我使用DDLUtils来自动生成表。以下适合 HSQLDB:

<?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database.dtd">

<database name="testdb">

    <table name="users">
        <!-- using autoincrement attribute below causes
        "primary key already exists" exception -->
        <column name="id" type="INTEGER" primaryKey="true" />
        <column name="username" type="VARCHAR" size="30" />
        <column name="password" type="VARCHAR" size="100" />
    </table>

</database>
Run Code Online (Sandbox Code Playgroud)

此外,这里是用于域类的 iBatis SQL 映射:

<insert id="insertUser" parameterClass="user">
    <selectKey keyProperty="id" resultClass="int">
        CALL IDENTITY()
    </selectKey>
INSERT …
Run Code Online (Sandbox Code Playgroud)

java ibatis hsqldb auto-increment ddlutils

1
推荐指数
1
解决办法
8478
查看次数