SqlServer / MyBatis SqlMapConfig数据源设置

时间:2012-05-01 14:05:20

标签: java sql-server mybatis

我正在使用this MyBatis tutorial,并且遇到了在SqlMapConfig.xml中设置dataSource的问题。该教程使用MySql,就像互联网上现有的其他教程一样,但我使用的是SqlServer 2008.

请帮我转换下面的代码以连接到本地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>

注意: 我使用最新的JDBC驱动程序4与SQL 2008,并有版本问题,特别是错误:“异常数据:java.lang.UnsupportedClassVersionError(com / microsoft / sqlserver / jdbc / SQLServerDriver)错误主要版本在偏移= 6 .. ......。“

通过sqljdbc3 / sqljdbc4.jar切换到兼容的驱动程序sqljdbc.jar来解决此问题。

1 个答案:

答案 0 :(得分:4)

要连接到SQL Server(或其他任何数据库),您需要两个基本的东西:

  • 一个合适的JDBC驱动程序。
  • 配置数据源时的适当属性;

对于驱动程序,我想您可以使用“the official”用于SQL Server分发的Microsoft JDBC驱动程序,您必须在应用程序的类路径中使用该驱动程序,然后在MyBatis配置中配置数据源属性,其中包括指定驱动程序class(com.microsoft.sqlserver.jdbc.SQLServerDriver如果我没记错的话)和连接网址(必须以jdbc:sqlserver://而不是jdbc:mysql://开头)。

您可以在官方页面上找到更多信息,这些信息将提供appropriate links来帮助您完成所有这些信息(只需确保您阅读了适用于您的SQL Server版本的文档; SQL Server 2012已经发布,因此Microsoft更新了他们的文档)。

然后,根据您运行的查询类型(对于基本教程而言,这应该不是问题),您必须确保使用the proper SQL syntax