NutzCN Logo
问答 dao.json配置数据库与实际不符
发布于 2614天前 作者 nidegexing 1505 次浏览 复制 上一个帖子 下一个帖子
标签:

环境idea+nutz1.58.
dao.json如下,期望连本地lewen库,实际连的却是nutzbook库。还有第二个问题在末尾

var ioc = {
conf : {
type : "org.nutz.ioc.impl.PropertiesProxy",
fields : {
paths : ["custom/"]
}
},
dataSource: {
type: "com.alibaba.druid.pool.DruidDataSource",
events: {
depose: 'close'
},
fields: {
driverClassName  : 'com.mysql.jdbc.Driver',
url: 'jdbc:mysql://127.0.0.1:3306/lewen?useUnicode=true&characterEncoding=UTF8&useSSL=false',
//jdbcUrl : 'jdbc:mysql://192.168.1.87:3306/elovo_sales_sys?useUnicode=true&characterEncoding=UTF8',
username: 'root',
password: '123456',
maxWait: 15000, // 若不配置此项,如果数据库未启动,druid会一直等可用连接,卡住启动过程,
defaultAutoCommit : false // 提高fastInsert的性能
}
},
fileSqlManager: {
type: "org.nutz.dao.impl.FileSqlManager",
args: ['sqls/all.sqls']
},
dao: {
type: 'org.nutz.dao.impl.NutDao',
args : [
{
refer: 'dataSource'
}, {
refer: 'fileSqlManager'
}
]
}
};

2017-2-22 2:45:16.676 DEBUG [RMI TCP Connection(3)-127.0.0.1] JDBC Name --> MySQL Connector Java
2017-2-22 2:45:16.676 DEBUG [RMI TCP Connection(3)-127.0.0.1] JDBC URL --> jdbc:mysql://127.0.0.1:3306/nutzbook
idea已配置项目的编码为utf-8,但是日志打印还是GBK,分别见下图
IDEA的图发不了,如下是日志打印
2017-2-22 2:45:16.47 DEBUG [RMI TCP Connection(3)-127.0.0.1] Web Container Information:
2017-2-22 2:45:16.48 DEBUG [RMI TCP Connection(3)-127.0.0.1] - Default Charset : GBK

6 回复

数据库连接的配置是没有默认值的,如果nutz正在尝试连接到与配置不符的数据库,那只能是: 用到的并非你正在修改的配置文件,存在另外一个配置文件,或没有编译

常见原因是某个jar里面带了同名的配置文件,或者类似定义的配置文件. 验证方法很简单,把dao.json中的类名改一下,例如NutDao改成AbcDao,如果还能启动,那就证明另有配置文件了.

还有一个可能性是没编译,现象就是:总是连接"之前"配置的参数. 要是之前的配置压根没出现过nutzbook字样,那这个可能性排除.

至于日志里面的gbk,是因为idea启动tomcat/jetty的时候,依然以默认环境变量启动,修改启动配置里面的vm args,加上-Dfile.encoding=utf-8

@wendal 很有可能是用的之前的配置。idea发布项目前会自动编译项目的,这个json文件应该只是读取吧。怎么解决未编译问题,没有解决思路。

来自炫酷的 NutzCN

两种可能性都确认一下

添加回复
请先登陆
回到顶部