2012-05-01 16 views
5

私はthis MyBatis tutorialを使用していますが、SqlMapConfig.xml内にdataSourceを設定する際の問題があります。チュートリアルではMySqlを使用していますが、これはインターネット上にある他のチュートリアルと同じですが、SqlServer 2008を使用しています。SqlServer/MyBatis SqlMapConfigデータソースの設定

以下のコードをローカルSqlServerに接続するか、環境/ SqlMapConfigが接続ファクトリとどのように動作するかを示します。

info/tutorialsへのリンクも素晴らしいでしょう。

ありがとうございます!

<?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> 

注:UPDATED

<?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> 

を私はSQL 2008で最新のJDBCドライバ4を使用して、バージョンの問題、特にエラー有していた:「例外データ:Javaの。 lang.UnsupportedClassVersionError(com/microsoft/sqlserver/jdbc/SQLServerDriver)offset = 6の悪いメジャーバージョン......... "

互換性のあるドライバsqljdbcに切り替えます。これを修正するにはsqljdbc3/sqljdbc4.jarをjarしてください。 SQL Server(またはそこに他のデータベース)に接続するには

答えて

4

次の2つの基本的なことが必要です。

  • 適切なJDBCドライバを。
  • データソースを設定するときの適切なプロパティ。私はあなたがあなたのアプリケーションのクラスパス上で利用できるようにする必要がありますSQL Serverの配布のための「the officialの」Microsoft JDBCドライバは、ドライバのクラスを指定する必要がMyBatisの設定でデータソースのプロパティを設定するために行くことができますねドライバについては

(私が間違っていないとcom.microsoft.sqlserver.jdbc.SQLServerDriver)と接続URL(jdbc:mysql://の代わりにjdbc:sqlserver://で始まる必要があります)。

appropriate linksの公式ページで詳細を確認できます(ご使用のバージョンのSQL Serverのドキュメントを必ずお読みください; SQL Server 2012はリリースされており、Microsoftはドキュメントを更新しています)。

実行しているクエリの種類(基本的なチュートリアルでは問題ありません)に応じて、the proper SQL syntaxを使用することを確認する必要があります。

+0

よろしくお願いいたします。私はJDBCドライバを手に入れましたが、 "適切なプロパティ"は私が混乱しているものです。 などのプロパティを追加して、そこにDB情報を入れることはできますか?また、ドライバとURLの値はどこで見つけましたか?リンク? – JWiley

+0

は紛らわしいことがあります。私はあなたがjdbcの情報、チュートリアルのユーザー名とパスワードのフィールドを私に混乱させたのを見ます。 urlプロパティはdb接続文字列です...正しい? – JWiley

+1

@JWiley:接続文字列はurlプロパティです、はい!ここでは、MyBatis configでデータソースを設定するときに、実際に[DataSource](http://docs.oracle.com/javase/1.5.0/docs/api/javax/sql/DataSource.html)を設定します。 )インスタンス。プロパティは、その特定のインスタンスのセッターです。 POOLEDデータソースタイプは、[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)インスタンス。 PooledDataSourceには、各プロパティの設定があります。 – Bogdan

関連する問題