NutzCN Logo
问答 使用SimpleDataSource时,无法在Startup中ioc.get(Dao.class),报No suitable driver found for
发布于 3026天前 作者 hedan806 2486 次浏览 复制 上一个帖子 下一个帖子
标签:

在Startup中,无法通过ioc.get(Dao.class)获取到Dao,其中dao.js如下:

dataSource : {
        type : "org.nutz.dao.impl.SimpleDataSource",
        events:{
            depose:"close"
        },
        fields : {
            driverClassName:"com.mysql.jdbc.Driver",
            jdbcUrl:"jdbc:mysql://127.0.0.1/ymt-city",
            username:"root",
            password:"root"
        }
    },
    dao : {
        type : "org.nutz.dao.impl.NutDao",
        args : [{refer:'dataSource'}]
    }

Startup代码片段如下:

Ioc ioc = config.getIoc();
Dao dao = ioc.get(Dao.class);

报异常:

Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://127.0.0.1/***

好像使用druid不会这样,是SimpleDataSource不支持在Startup中初始化数据库吗?

12 回复

mysql驱动没添加

Startup是啥东西.

@wendal 驱动有,我在JUnit中可以连接到数据库,噢~~ Startup是继承Setup的那个类,进行初始化系统的。我试了,使用druid是可以的,druid就多了一行create:"init",在dao.js中,但是SimpleDataSource没有这个方法。

那就不要new啊

public void init(NutConfig nc) {
  Ioc ioc = nc.getIoc();
  Dao dao = ioc.get(Dao.class);
}

@wendal 没有new,我是这样用的:

public void init(NutConfig config) {
		Ioc ioc = config.getIoc();
        Dao dao = ioc.get(Dao.class);
        // 初始化数据表
        initSysData(config, dao);
}

就是NutzWk里面的代码。
是初始化的时候,SimpleDataSource 没能加载进去吗

那就换回druid

@wendal 使用druid是可以,可是在启动完成后,会一直自动去连数据库,而且还不是用我配置的用户名和密码,用的root。这个是什么情况呢?

WNP2P: 2016-09-09 10:21:55,955 [Druid-ConnectionPool-Create-1732026179] ERROR com.alibaba.druid.pool.DruidDataSource - create connection error, url: jdbc:mysql://**99lh.mysql.rds.aliyuncs.com:3306/**-city?useUnicode=true&characterEncoding=utf-8, errorCode 1045, state 28000
java.sql.SQLException: Access denied for user 'root'@'10.25.31.***' (using password: YES)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:963)

@hedan806 全文搜索root

来自炫酷的 NutzCN

@wendal 没找到原因,换回SimpleDataSource 还是一样会去连数据库,把druid.1.0.24.jar包删了,就没连接了。应该是druid的心跳时间?只是不知道怎么没有读取到我配置的参数。

@hedan806 既然出现root字样,那么项目里面的某个文件肯定带root,这东西不能凭空出现

来自炫酷的 NutzCN

@wendal 我是个新项目,就几个类和两个配置文件,会不会是druid里面的?

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