2016-08-04 2 views
0

Я пытаюсь использовать mybatis-Guice с MySQL, но я продолжаю ловить следующий исключение:mybatis-Guice MySQL не удалось загрузить драйвер JDBC

Ошибка запроса к базе данных. Причина: java.sql.SQLException: Ошибка установки драйвера на UnpooledDataSource. Причина: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Причина: java.sql.SQLException: Ошибка установки драйвера на UnpooledDataSource. Причина: java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver

Вот код, который я пытаюсь запустить:

public class DaoImpl implements Dao { 
    @Inject 
    private MyMapper mapper; 

    public String getSomething() { 
     return mapper.getSomething(); 
    } 
} 

public interface Dao { 
    String getSomething(); 
} 

public interface MyMapper { 
    @Select("SELECT DATE_FORMAT(NOW(),'%d/%m/%Y %H:%i') as time") 
    String getSomething(); 
} 

Injector injector = Guice.createInjector(
     new MyBatisModule() { 
      @Override 
      protected void initialize() { 
       install(JdbcHelper.MySQL); 
       environmentId("development"); 

       bindDataSourceProviderType(PooledDataSourceProvider.class); 
       bindTransactionFactoryType(JdbcTransactionFactory.class); 
       addMapperClass(MyMapper.class); 

       bindProperties(binder(), getMybatisProperties()); 
       bind(Dao.class).to(DaoImpl.class); 
      } 
     } 
); 

private Properties getMybatisProperties() { 
    Properties myBatisProperties = new Properties(); 
    myBatisProperties.setProperty("JDBC.host", "127.0.0.1"); 
    myBatisProperties.setProperty("JDBC.port", "3306"); 
    myBatisProperties.setProperty("JDBC.schema", "my_schema"); 
    myBatisProperties.setProperty("JDBC.driver", "com.mysql.jdbc.Driver")); 
    myBatisProperties.setProperty("JDBC.username", "root"); 
    myBatisProperties.setProperty("JDBC.password", ""); 
    myBatisProperties.setProperty("JDBC.autoCommit", "false"); 
    return myBatisProperties; 
} 

И чем я пытаюсь запустить: injector.getInstance(Dao.class).getSomething()

Я пытался удалите myBatisProperties.setProperty("JDBC.driver", "com.mysql.jdbc.Driver"));, но результат был тот же.

Кроме того, после нескольких часов отладки кода install(JdbcHelper.MySQL); должен добавить драйвер самостоятельно. Правильно ли это предположение?

Исключение брошено на mapper.getSomething();

идеи ???

ответ

1

Вам нужен драйвер MySQL-разъем-Java или проверить версию драйвера и ваш пут MySQL-разъем-Java-bin.jar в Lib

+0

спасибо за ответ, я попробую это, и пусть вы знаете, – Igor

+0

работал как шарм :) – Igor