Estoy trabajando a través de this MyBatis tutorial, y estoy a un problema con la configuración de la fuente de datos dentro de SqlMapConfig.xml. El tutorial está utilizando MySql, como cualquier otro tutorial existente en Internet parece, pero estoy usando SqlServer 2008.SqlServer/MyBatis configuración de origen de datos SqlMapConfig
Ayúdeme a convertir el siguiente código para conectarse a un SqlServer local, o ayúdenme a comprender cómo configurarlo entornos/cómo el SqlMapConfig funciona con la fábrica de conexiones.
Los enlaces a información/tutoriales también serían geniales.
Gracias!
<?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>
Actualizado:
<?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>
NOTA: que estaba usando la última versión del controlador JDBC 4 con SQL 2008, y tenían problemas de versiones, específicamente el error: "Datos de la excepción: java. lang.UnsupportedClassVersionError (com/microsoft/sqlserver/jdbc/SQLServerDriver) versión principal incorrecta en offset = 6 ......... "
Cambie al controlador compatible sqljdbc. jar sobre sqljdbc3/sqljdbc4.jar para arreglar esto.
Genial, gracias. Tengo el controlador JDBC atendido, pero las "propiedades apropiadas" son lo que me confunde. ¿Puedo agregar una propiedad como y poner allí mi información de DB? Además, ¿dónde encontraste el controlador y los valores de la URL? ¿enlazar? –
JWiley
... confundido allí. Veo de dónde sacaste la información jdbc, los campos de nombre de usuario y contraseña del tutorial me confundieron. La propiedad url ES la cadena de conexión db ... ¿correcto? – JWiley
@JWiley: ¡La cadena de conexión es la propiedad de url, sí! Aquí está la cosa: cuando configura una fuente de datos en la configuración de MyBatis, realmente configura un [DataSource] (http://docs.oracle.com/javase/1.5.0/docs/api/javax/sql/DataSource.html) instancia. Las propiedades son setters en esa instancia específica. Un tipo de fuente de datos POOLED significa una [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) instancia. PooledDataSource tiene definidores para cada propiedad. – Bogdan