2013-05-15 8 views
6

के साथ एक MySQL कनेक्शन बनाएं I slick 1.0.0 के साथ एक MySQL डेटाबेस से कनेक्ट करने का प्रयास कर रहा हूं।प्लेफ्रेमवर्क में एक चिकना

क्या मैं अब तक क्या किया है: Build.scala में

मैं application.conf

db.default.driver=com.mysql.jdbc.Driver 
db.default.url="url to mysql db" 
db.default.user=user 
db.default.pass=password 

में

val appDependencies = Seq(
    anorm, 
    "mysql" % "mysql-connector-java" % "5.1.24", 
    "com.typesafe.slick" % "slick_2.10" % "1.0.0", 
    "org.slf4j" % "slf4j-nop" % "1.6.4" 
) 

जोड़ दिया है और अब मैं पढ़ने के लिए कोशिश कर रहा हूँ डीबी से एक प्रविष्टि। इसके लिए मैं एक मॉडल

package models 

import scala.slick.driver.MySQLDriver.simple._ 
import Database.threadLocalSession 

object Organisations extends Table[(Int, String)]("Organisation") 
{ 
    def id = column[Int]("id", O.PrimaryKey) 
    def name = column[String]("name") 
    def * = id ~ name 
} 

है और अब मैं प्रविष्टियों

val orgs = 
    for { o <- Organisations } yield o.name 

println("Length" + orgs.toString()) 

चाहते हैं सिर्फ उत्पादन के लिए लेकिन यह काम नहीं करता। मुझे यकीन है कि मैंने बहुत सारी त्रुटियां की हैं, लेकिन ऐसा लगता है कि mysql के साथ एंडी स्लिम ट्यूटोरियल नहीं हैं।

आपके धैर्य के लिए धन्यवाद और मुझे आशा है कि मेरी स्पष्टीकरण स्पष्ट है।

+0

आप योग्य हो सकता है "काम नहीं करता है"

आप यहाँ MySQL का उपयोग कर एक पूर्ण उदाहरण मिल सकते हैं? आप किस तरह के अप्रत्याशित व्यवहार या अपवाद देख रहे हैं? – cmbaxter

+0

उत्तर देने के लिए धन्यवाद। समस्या वह बॉयलरप्लेट था जो @johanandren के बारे में बात करती है। मुझे नहीं पता था कि मेरी कॉन्फ़िगरेशन फ़ाइल और उसके सभी का उपयोग करने के लिए स्लॉट कैसे बताना है। प्लगइन के साथ यह अब काम करता है :) – Archaeron

उत्तर

5

स्लिम का उपयोग करने के लिए थोड़ा बॉयलरप्लेट की आवश्यकता होती है, सत्र बनाते हैं और यह सब, फ्रेड्रिक एकहोल्ड (टाइपएफ़) द्वारा लिखे गए प्ले-स्लिक प्लगइन को चेकआउट करें!

यह आपके लिए नलसाजी करता है और विकी पर इसका उपयोग करने के तरीके पर अच्छे उदाहरण हैं।

+0

आपको बहुत बहुत धन्यवाद :) यह बहुत अच्छा काम करता है। अब मुझे विवरणों को समझना है। आप बहुत अच्छे हैं! – Archaeron

+0

क्या मैं इस से थोड़ा चिंतित हूं? https://www.dropbox.com/s/6vakhhlik4msy1o/Screenshot%202015-10-21%2016.18.48.png?dl=0 मुझे सभी चीजें प्ले फ्रेमवर्क को बहुत खराब तरीके से दस्तावेज करने के लिए मिलती है। – Ashesh

1

प्ले टीम भी Techempower के लिए एक चालाक बेंचमार्क पर काम कर रहा है। यह कार्य प्रगति पर है, लेकिन हम शीघ्र ही पूरा कर लिया संस्करण पर एक पीआर (अगले 24 घंटों मुझे लगता है) को ऊपर उठाने दिया जाएगा:

https://github.com/nraychaudhuri/FrameworkBenchmarks/tree/adding_missing_slickness/play-slick

+0

क्या आप संदर्भ के रूप में उपयोग करना चाहते हैं? धन्यवाद। मुझे परिणाम की सूची विधि के बारे में पता नहीं था। – Archaeron

2

नई स्लिक 2.0 यह भी एक कोड जेनरेटर है कि एक साथ इस्तेमाल किया जा सकता सुविधाएँ प्ले फ्रेमवर्क विकास के साथ।

इसका मतलब है कि आप अब स्लिम के लिए बॉयलरप्लेट लिखने की ज़रूरत नहीं है। विकास फ़ाइलों का उपयोग करके बस अपने डेटाबेस परिवर्तन लिखें, और तुरंत अपने कोड से नई टेबल तक पहुंचें। यह कैसे काम करता पर

https://github.com/papauschek/play-slick-evolutions

और अधिक जानकारी:

http://blog.papauschek.com/2013/12/slick-2-0-code-generator-play-framework-evolutions/

+0

धन्यवाद, अगली बार जब मैं एक प्ले एप्लिकेशन लिखूं तो मैं इसे देख लूंगा। (एक या दो महीने में होगा) – Archaeron

+1

मैं इस विधि का उपयोग अब एक नई परियोजना में कर रहा हूं, और इसे काम करने के एक दिन बाद यह बहुत अच्छा है। – Archaeron

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