2010-06-24 11 views
5

से इंस्टेंट करना, मैं अपने जावा कोड में JdbcTemplate प्राप्त करना चाहता हूं। मुझे पहले से ही java.sql.Connection काम कर रहा है। नया JdbcTemplate बनाने के लिए इसे आमतौर पर javax.sql.DataSource इंटरफ़ेस का उदाहरण चाहिए।javabqTemplate को java.sql.Connection

क्या यह मौजूदा java.sql.Connection से नया JdbcTemplate प्राप्त करना संभव है?

उत्तर

21

तकनीकी तौर पर, आप, SingleConnectionDataSource

new JdbcTemplate(new SingleConnectionDataSource(connection, false))

का उपयोग कर सकते हैं हालांकि, इस जब तक इकाई-परीक्षण के लिए उदाहरण के लिए काफी उचित नहीं है,।

आप बेहतर फिक्स्ड DataSource और वसंत का उपयोग कर तारों का उपयोग बेहतर तरीके से करेंगे।

+0

आसपास के काम के लिए धन्यवाद, लेकिन फिर भी मैंने इसे अपने आवेदन संदर्भ में कार्यान्वित कर दिया है। –

+0

+1 यह मेरा कुछ हाइबरनेट श्रोता कोड में गहराई से समझ में आता है, जहां मेरे पास पहले से ही मेरा खुला कनेक्शन है। –

2

नहीं, जेडीसीबी टेम्पलेट एक स्प्रिंग क्लास है; कनेक्शन जेडीके का हिस्सा है। कनेक्शन JdbcTemplate के बारे में कुछ भी नहीं जानता है।

ऐसा करने का तरीका अपने स्प्रिंग ऐप संदर्भ में एक जेडीबीसी टेम्पलेट बीन जोड़ना है; फिर उन वर्गों में इंजेक्ट करें जिन्हें इसकी घोषणा की जा सकती है।