2012-05-01 12 views
5

मैं this MyBatis tutorial के माध्यम से काम कर रहा हूं, और SqlMapConfig.xml के भीतर डेटा स्रोत स्थापित करने के साथ एक समस्या पर हूं। ट्यूटोरियल माइस्क्ल का उपयोग कर रहा है, जैसे इंटरनेट पर मौजूद हर दूसरे ट्यूटोरियल की तरह, लेकिन मैं एसक्यूएलसेवर 2008 का उपयोग कर रहा हूं।SqlServer/MyBatis SqlMapConfig डेटासॉर सेटअप

कृपया मुझे नीचे दिए गए कोड को स्थानीय एसक्यूएल सर्वर से कनेक्ट करने में मदद करें, या मुझे सेटअप करने के तरीके को समझने में मेरी सहायता करें वातावरण/कैसे 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> 

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

नोट: मैं एसक्यूएल 2008 के साथ नवीनतम JDBC ड्राइवर 4 का उपयोग किया गया था, और था संस्करण के मुद्दों, विशेष रूप से त्रुटि: "अपवाद डेटा: जावा। lang.UnsupportedClassVersionError (com/microsoft/sqlserver/jdbc/SQLServerDriver) ऑफसेट = 6 ......... "

संगत ड्राइवर sqljdbc पर स्विच करें। इसे ठीक करने के लिए sqljdbc3/sqljdbc4.jar पर जार।

उत्तर

4

(वहाँ बाहर या किसी अन्य डेटाबेस) SQL सर्वर से कनेक्ट करने के लिए आप दो बुनियादी चीजों की आवश्यकता:

  • एक उपयुक्त JDBC ड्राइवर। डेटा सॉस को कॉन्फ़िगर करते समय
  • उपयुक्त गुण;

ड्राइवर मुझे लगता है कि आप "the official" एसक्यूएल सर्वर वितरण के लिए Microsoft JDBC ड्राइवर जो आप अपने आवेदन के classpath पर उपलब्ध कराने चाहिए, तो MyBatis विन्यास में डेटा स्रोत गुण जो ड्राइवर वर्ग को निर्दिष्ट करना शामिल है कॉन्फ़िगर लिए जा सकते हैं के लिए (com.microsoft.sqlserver.jdbc.SQLServerDriver यदि मुझे गलत नहीं है) और कनेक्शन यूआरएल (जो के साथ jdbc:mysql:// के बजाय शुरू होना चाहिए)।

आप आधिकारिक पृष्ठ पर अधिक जानकारी प्राप्त कर सकते हैं जो आपको सभी के माध्यम से मदद करने के लिए appropriate links प्रदान करेगा (केवल यह सुनिश्चित करें कि आप SQL सर्वर के अपने संस्करण के लिए प्रलेखन पढ़ लें; SQL Server 2012 बाहर है इसलिए माइक्रोसॉफ्ट ने अपने दस्तावेज़ अपडेट किए हैं)।

फिर आप किस प्रकार के प्रश्नों को चल रहे हैं (मूलभूत ट्यूटोरियल के लिए क्योंकि कोई समस्या नहीं होनी चाहिए) के आधार पर आपको यह सुनिश्चित करना होगा कि आप the proper SQL syntax का उपयोग करें।

+0

ग्रेट, धन्यवाद। मेरे पास जेडीबीसी चालक का ख्याल रखा गया है, लेकिन "उचित गुण" मैं उलझन में हूं। क्या मैं JWiley

+0

.. वहाँ उलझन में जाओ। मैं देखता हूं कि आपको jdbc जानकारी कहां मिली, ट्यूटोरियल से उपयोगकर्ता नाम और पासवर्ड फ़ील्ड ने मुझे भ्रमित कर दिया। यूआरएल संपत्ति डीबी कनेक्शन स्ट्रिंग है ... सही? – JWiley

+1

@JWiley: कनेक्शन स्ट्रिंग यूआरएल संपत्ति है, हाँ! यहां बात है: जब आप MyBatis कॉन्फ़िगरेशन में डेटा स्रोत कॉन्फ़िगर करते हैं, तो आप वास्तव में एक [डेटासोर्स] (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

संबंधित मुद्दे