statement是什么意思啊 請(qǐng)問(wèn)CallableStatement是什么東東?
請(qǐng)問(wèn)CallableStatement是什么東東?說(shuō)到callablestatement,你不能忘記提到statement。建立到特定數(shù)據(jù)庫(kù)的連接后,可以使用該連接發(fā)送SQL語(yǔ)句。語(yǔ)句對(duì)象是用方法cr
請(qǐng)問(wèn)CallableStatement是什么東東?
說(shuō)到callablestatement,你不能忘記提到statement。建立到特定數(shù)據(jù)庫(kù)的連接后,可以使用該連接發(fā)送SQL語(yǔ)句。語(yǔ)句對(duì)象是用方法createstatement of connection創(chuàng)建的。語(yǔ)句接口提供了三種執(zhí)行SQL語(yǔ)句的方法:executeQuery、executeupdate和execute。使用哪種方法取決于SQL語(yǔ)句生成的內(nèi)容。Preparedstatement接口繼承語(yǔ)句接口中的所有方法,它有自己的executeQuery、executeupdate和execute方法。語(yǔ)句對(duì)象本身不包含SQL語(yǔ)句,因此必須語(yǔ)句.執(zhí)行方法提供SQL語(yǔ)句作為參數(shù)。Preparedstatement對(duì)象不提供SQL語(yǔ)句作為這些方法的參數(shù),因?yàn)樗鼈円呀?jīng)包含預(yù)編譯的SQL語(yǔ)句。callablestatement對(duì)象繼承這些方法的Preparedstatement形式。對(duì)于這些方法的Preparedstatement或callablestatement版本,使用查詢參數(shù)引發(fā)sqlexception。
怎么設(shè)置sqlStatementName和resultType屬?
在mybatis中,選擇和映射查詢時(shí),返回類(lèi)型可以是resulttype或resultmap。Resulttype直接表示返回類(lèi)型,resultmap表示外部resultmap,但Resulttype和resultmap不能同時(shí)存在。在mybatis執(zhí)行查詢映射時(shí),實(shí)際上,找到的每個(gè)屬性都放在一個(gè)對(duì)應(yīng)的映射中,其中鍵是屬性名,值是對(duì)應(yīng)的值。
①當(dāng)返回類(lèi)型屬性為resulttype時(shí),mybatis將從分配給resulttype指定的對(duì)象的相應(yīng)屬性中檢索映射中的鍵值對(duì)。因此,實(shí)際上,mybatis中每個(gè)查詢映射的返回類(lèi)型都是resultmap。只有當(dāng)提供的返回類(lèi)型屬性是resulttype時(shí),mybatis才會(huì)自動(dòng)將相應(yīng)的值賦給resulttype指定的對(duì)象的屬性。
②當(dāng)提供的返回類(lèi)型為resultmap時(shí),由于map不能很好地表示域模型,需要進(jìn)一步將其轉(zhuǎn)換為相應(yīng)的對(duì)象,這在復(fù)雜的查詢中往往非常有用。