开发者社区> 问答> 正文

关于Jfinal使用PostgreSQL的一个很奇怪的问题?报错

数据库配置如下:

@Override
public void configPlugin(Plugins me) {
        // 添加数据库连接池
	DruidPlugin dPlugin = new DruidPlugin(appProperties.getProperty("jdbc.url"), appProperties.getProperty("jdbc.username"), appProperties.getProperty("jdbc.password"), appProperties.getProperty("jdbc.driver"));
		dPlugin.addFilter(new StatFilter());
		WallFilter wall = new WallFilter();
		wall.setDbType(JdbcConstants.POSTGRESQL);
		dPlugin.addFilter(wall);
		me.add(dPlugin);

		// 添加自动绑定model与表插件
		AutoTableBindPlugin autoTableBindPlugin = new AutoTableBindPlugin(dPlugin);
        autoTableBindPlugin.setShowSql(true);
	me.add(autoTableBindPlugin);
}



通过注解的方式设置model

@TableBind(tableName = "users", pkName = "id")
public class User extends Model<User> {
    public static final User dao = new User();
}



启动却报错:

请问是什么原因啊?以前用mysql没问题的,相同的设置用PostgreSQL就出现了这种问题!

@Jfinal

展开
收起
爱吃鱼的程序员 2020-06-14 20:30:44 612 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

      ActiveRecordPlugin在没有设置方言时默认使用的是MySqlDialect, PostgreSql数据库需要设置相应的方言:

    ActiveRecordPluginarp=newActiveRecordPlugin(...);arp.setDialect(newPostgreSqlDialect());me.add(arp);


    jfinal1.8原生连接pgsql我用过,没问题吧,你先去除所有kit,去除druid的wall之后链接看看,确定是哪里出了问题。

    波波正解我一直用  PostgreSql

    需要方言设置的

    引用来自“JFinal”的评论

      ActiveRecordPlugin在没有设置方言时默认使用的是MySqlDialect, PostgreSql数据库需要设置相应的方言:

    ActiveRecordPluginarp=newActiveRecordPlugin(...);arp.setDialect(newPostgreSqlDialect());me.add(arp);


    引用来自“本人纯属虚构”的评论

    波波正解我一直用  PostgreSql

    需要方言设置的

    引用来自“红星xx”的评论

    jfinal1.8原生连接pgsql我用过,没问题吧,你先去除所有kit,去除druid的wall之后链接看看,确定是哪里出了问题。
    2020-06-14 20:31:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
金融级 PostgreSQL监控及优化 立即下载
PostgreSQL在哈啰的实践-周飞 立即下载
PostgreSQL高并发数据库应用数据 立即下载