2012-05-01 11 views
5

Pracuję przez this MyBatis tutorial i mam problem z konfiguracją źródła danych w pliku SqlMapConfig.xml. Samouczek korzysta z MySql, tak jak w przypadku wszystkich innych tutorialów istniejących w Internecie, ale używam SqlServer 2008.SqlServer/MyBatis SqlMapConfig konfiguracja źródła danych

Pomóż mi przekonwertować poniższy kod, aby połączyć się z lokalnym SqlServerem, lub pomóż mi zrozumieć, jak skonfigurować środowisk/w jaki sposób SqlMapConfig współpracuje z fabryką połączeń.

Linki do informacji/samouczków też byłyby wspaniałe.

Dzięki!

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE configuration 
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
    "http://mybatis.org/dtd/mybatis-3-config.dtd"> 

<configuration> 

    <typeAliases> 
     <typeAlias alias="Contact" type="com.name.model.Contact"/> 
    </typeAliases> 

    <environments default="development"> 
     <environment id="development"> 
      <transactionManager type="JDBC"/> 
      <dataSource type="POOLED"> 
       <property name="driver" value="com.mysql.jdbc.Driver"/> 
       <property name="url" value="jdbc:mysql://localhost:3306/blog"/> 
       <property name="username" value="root"/> 
       <property name="password" value="root"/> 
      </dataSource> 
     </environment> 
    </environments> 

    <mappers> 
     <mapper resource="com/name/data/Contact.xml"/> 
    </mappers> 

</configuration> 

AKTUALIZACJA:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE configuration 
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
    "http://mybatis.org/dtd/mybatis-3-config.dtd"> 

<configuration> 

    <typeAliases> 
     <typeAlias alias="Contact" type="com.name.model.Contact"/> 
    </typeAliases> 

    <environments default="development"> 
     <environment id="development"> 
      <transactionManager type="JDBC"/> 
      <dataSource type="POOLED"> 
       <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> 
      <property name="url" value="jdbc:sqlserver://localhost(or name of server):1433;databaseName=yourdbname; catalogName=sameasdbname"/> 
      <property name="username" value="root"/> 
      <property name="password" value="root"/> 
      </dataSource> 
     </environment> 
    </environments> 

    <mappers> 
     <mapper resource="com/name/data/Contact.xml"/> 
    </mappers> 

</configuration> 

UWAGA: używałem najnowszy sterownik JDBC 4 z SQL 2008 i miał problemy wersji, a konkretnie błąd: „danych Wyjątek: Java. lang.UnsupportedClassVersionError (com/microsoft/sqlserver/jdbc/SQLServerDriver) niepoprawna wersja w offsecie = 6 ......... "

Przełącz się na zgodny sterownik sqljdbc. słoik ponad sqljdbc3/sqljdbc4.jar, aby to naprawić.

Odpowiedz

4

Aby połączyć się z SQL Server (lub dowolnej innej bazy danych tam) potrzebne są dwie podstawowe rzeczy:

  • odpowiedni sterownik JDBC.
  • odpowiednie właściwości podczas konfigurowania źródła danych;

Dla kierowcy Myślę, że można przejść do „the official” Microsoft JDBC Driver do dystrybucji SQL Server, które należy udostępnić na ścieżce klasy danej aplikacji, a następnie skonfigurować właściwości źródła danych w konfiguracji MyBatis która polega określające klasę sterownika (com.microsoft.sqlserver.jdbc.SQLServerDriver jeśli się nie mylę) i adresu URL połączenia (który musi zaczynać się od jdbc:sqlserver:// zamiast jdbc:mysql://).

Możesz znaleźć więcej informacji na oficjalnej stronie, która zapewni appropriate links, aby pomóc Ci przez to wszystko (tylko upewnij się, że czytasz dokumentację dla twojej wersji SQL Server, SQL Server 2012 jest na zewnątrz, więc Microsoft zaktualizował swoje dokumenty).

Następnie, w zależności od rodzaju uruchomionych zapytań (w przypadku podstawowego samouczka, ponieważ nie powinno to być problemem), należy się upewnić, że używasz the proper SQL syntax.

+0

Świetnie, dzięki. Mam pod opieką sterownik JDBC, ale "właściwe właściwości" są tym, za co jestem zdezorientowany. Czy mogę dodać właściwość, taką jak i umieścić tam moje informacje DB? Ponadto, gdzie znalazłeś wartości sterownika i adresu URL? połączyć? – JWiley

+0

.. nie pomyliłem się tam. Rozumiem, skąd wzięły się informacje o jdbc, nazwa użytkownika i hasło z samouczka. Właściwość url jest ciągiem połączenia db ... poprawne? – JWiley

+1

@JWiley: Ciąg połączenia jest właściwością url, tak! Oto, co należy zrobić: konfigurując źródło danych w konfiguracji MyBatis, konfigurujesz [źródło danych] (http://docs.oracle.com/javase/1.5.0/docs/api/javax/sql/DataSource.html) instancja. Właściwości są ustawieniami dla tej konkretnej instancji. Typ źródła danych POOLED oznacza [org.apache.ibatis.datasource.pooled.PooledDataSource] (http://www.jarvana.com/jarvana/view/org/mybatis/mybatis/3.0.2/mybatis-3.0.2 -javadoc.jar!/org/apache/ibatis/datasource/pooled/PooledDataSource.html) wystąpienie. PooledDataSource ma ustawniki dla każdej właściwości. – Bogdan

Powiązane problemy