5

私はこのMyBatisチュートリアルを進めていますが、SqlMapConfig.xml内でのdataSourceの設定に問題があります。チュートリアルは、インターネット上に存在する他のすべてのチュートリアルと同様にMySqlを使用しているようですが、私はSqlServer2008を使用しています。

以下のコードを変換してローカルのSqlServerに接続するか、環境のセットアップ方法/SqlMapConfigが接続ファクトリとどのように連携するかを理解するのを手伝ってください。

情報/チュートリアルへのリンクも素晴らしいでしょう。

ありがとう!

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

更新しました:

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

注: SQL 2008で最新のJDBCドライバー4を使用していて、バージョンの問題がありました。具体的には、「例外データ:java.lang.UnsupportedClassVersionError(com / microsoft / sqlserver / jdbc / SQLServerDriver)bad major version at offset = 6 .........」

これを修正するには、sqljdbc3/sqljdbc4.jarを介して互換性のあるドライバーsqljdbc.jarに切り替えます。

4

1 に答える 1

4

SQL Server(または他のデータベース)に接続するには、2つの基本的なものが必要です。

  • 適切なJDBCドライバー。
  • データソースを構成する際の適切なプロパティ。

ドライバーについては、アプリケーションのクラスパスで使用できるようにする必要がある「公式の」Microsoft JDBC Driver for SQL Serverディストリビューションを選択してから、ドライバークラスの指定を含むMyBatis構成でデータソースプロパティを構成できます(com.microsoft.sqlserver.jdbc.SQLServerDriver私が間違えないでください)および接続URL(jdbc:sqlserver://ではなくで始まる必要がありjdbc:mysql://ます)。

詳細については、公式ページを参照してください。このページには、すべてを理解するのに役立つ適切なリンクがあります(SQLServerのバージョンのドキュメントを必ずお読みください。SQLServer2012がリリースされたため、Microsoftがドキュメントを更新しました)。

次に、実行しているクエリの種類に応じて(基本的なチュートリアルでは問題にならないため)、適切なSQL構文を使用していることを確認する必要があります。

于 2012-05-01T14:50:45.617 に答える