我正在处理 this MyBatis tutorial ,并归结为在 SqlMapConfig.xml 中设置数据源的问题。本教程使用 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>
注意: 我在 SQL 2008 中使用最新的 JDBC 驱动程序 4,出现版本问题,特别是错误:“异常数据:java.lang.UnsupportedClassVersionError (com/microsoft/sqlserver/jdbc/SQLServerDriver) bad major version at offset=6 .. ……”
通过 sqljdbc3/sqljdbc4.jar 切换到兼容的驱动程序 sqljdbc.jar 以解决此问题。
最佳答案
要连接到 SQL Server(或任何其他数据库),您需要两个基本的东西:
- 适当的 JDBC 驱动程序。
- 配置数据源时适当的属性;
对于驱动程序,我猜你可以选择“the official” Microsoft JDBC Driver for SQL Server distribution,你必须在应用程序的类路径中提供它,然后在 MyBatis 配置中配置数据源属性,这包括指定驱动程序类( com.microsoft.sqlserver.jdbc.SQLServerDriver
如果我没记错的话)和连接 url(必须以 jdbc:sqlserver://
而不是 开头jdbc:mysql://
).
您可以在官方页面上找到更多信息,该页面将提供appropriate links。帮助您完成这一切(只需确保您阅读了您的 SQL Server 版本的文档;SQL Server 2012 已发布,因此 Microsoft 更新了他们的文档)。
然后根据您正在运行的查询类型(对于基本教程来说应该不是问题),您必须确保使用 the proper SQL syntax .
关于java - SqlServer/MyBatis SqlMapConfig 数据源设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10398831/