<thead id="zti7y"></thead>

    <ol id="zti7y"><small id="zti7y"></small></ol>
      <big id="zti7y"></big>
        <tfoot id="zti7y"><optgroup id="zti7y"></optgroup></tfoot>
      1. <center id="zti7y"><strong id="zti7y"></strong></center>

          日韩精品一区二区亚洲AV观看_国产SUV精品一区二区五_国产乱人伦偷精品视频免下载_亚洲精品国产精品国自产观看_久久夜色精品国产嚕嚕亚洲AV

          借助互聯(lián)網(wǎng)更有效的滿足顧客的需求和愿望,實(shí)現(xiàn)企業(yè)營(yíng)銷目的

          With the help of the Internet, we can more effectively meet the needs and aspirations of customers, and achieve the purpose of enterprise marketing

          Java經(jīng)典面試題整理及答案詳解


          學(xué)習(xí)Java建議還是多動(dòng)手練習(xí),很多時(shí)候你會(huì)發(fā)現(xiàn)想的和寫出來(lái)運(yùn)行的不是一回事兒,本節(jié)內(nèi)容大家可以根據(jù)題目自己練習(xí)看看~
           
          1.使用MyBatis做模糊查詢的時(shí)候,在日志中看到執(zhí)行了sql語(yǔ)句,但是查詢不到結(jié)果。
          面對(duì)這樣的問(wèn)題,如果可以看到后臺(tái)的日志出現(xiàn)有相關(guān)的信息顯示,那么就表示現(xiàn)在的整體環(huán)境搭建是沒(méi)有任何問(wèn)題的,但是為什么數(shù)據(jù)沒(méi)有呢?
          個(gè)人經(jīng)驗(yàn)總結(jié)有如下幾點(diǎn):
          (1) 你的數(shù)據(jù)庫(kù)里沒(méi)有符合條件的數(shù)據(jù),觀察你的事務(wù)問(wèn)題,更換一個(gè)新的客戶端連接;
          (2) 你在使用模糊查詢的時(shí)候,所傳遞的參數(shù)可能就有問(wèn)題,這個(gè)時(shí)候最好的解決方案,就是觀察數(shù)據(jù)層里面?zhèn)魅氲膬?nèi)容是否正確;
          (3) 在使用模糊查詢的時(shí)候千萬(wàn)要記住在關(guān)鍵字的左右增加一個(gè)“%”,如果沒(méi)有加,那么就不叫模糊查詢了;
          (4) 你現(xiàn)在所連接的數(shù)據(jù)庫(kù)并不是你真正的數(shù)據(jù)庫(kù)。
          2.在MyBatis的sql語(yǔ)句中使用if判斷傳遞過(guò)來(lái)的某參數(shù)是不是null是有效的,但是卻不能判斷空字符串。
          動(dòng)態(tài)SQL是依靠配置實(shí)現(xiàn)的,它只能夠判斷null。你可以在業(yè)務(wù)層的處理上追加一些判斷功能,例如:如果發(fā)現(xiàn)有內(nèi)容為空字符串( ’’’’),那么你就為其設(shè)置null。
          動(dòng)態(tài)SQL很有幫助。
          3.MyBatis和Hibernate中的set方法
          MyBatis開(kāi)發(fā)里面主要的核心是要求用戶自己來(lái)定義使用的SQL語(yǔ)句。而Hibernate特點(diǎn)由于其要考慮其可移植性的問(wèn)題,所以在Hibernate處理之中,它所需要考慮的就是一個(gè)自動(dòng)生成SQL問(wèn)題。
          現(xiàn)在所有問(wèn)題都放在了POJO類(VO)、Hibernate下,如果該P(yáng)OJO類的對(duì)象處于持久態(tài)狀態(tài),那么每一次調(diào)用setter方法都會(huì)更新數(shù)據(jù)(如果你的事務(wù)是手工控制,則在若干個(gè)setter調(diào)用后才會(huì)發(fā)出更新操作),而MyBatis沒(méi)有這樣的功能,因?yàn)镠ibernate之中搞的這種對(duì)象的狀態(tài)設(shè)計(jì)有些糟糕,而且這也是Hibernate本身性能低的原因。追究其起源,主要是因?yàn)閭鹘y(tǒng)的EJB(EntityBean)影響。
          4.Resource與Autowired區(qū)別
          在使用Spring的自動(dòng)的Annotation注解的時(shí)候經(jīng)常會(huì)見(jiàn)到兩類的注解:@Resource(個(gè)人常用)、@Autowired ,如果你想要了解這兩個(gè)的區(qū)別,最好的做法是先認(rèn)真學(xué)完了spring依賴注入的時(shí)候講解過(guò)的自動(dòng)配置操作,在spring里面自動(dòng)配置的模式有兩類:按照類型、按照名稱。
          @Autowired:則表示按照類型進(jìn)行自動(dòng)注入,缺點(diǎn)是如果類型相同,則無(wú)法注入;
          @Resource:具備按照類型自動(dòng)注入的特點(diǎn),而后如果現(xiàn)在類型相同,則可以設(shè)置一個(gè)名稱,也就是說(shuō)你使用@Component、@Service等注解設(shè)置自動(dòng)掃描的時(shí)候可以設(shè)置一個(gè)名字,而這個(gè)名字就可在@Resource中使用了;
          SpringBoot里面,因?yàn)槠渥詣?dòng)支持一些環(huán)境配置,如果使用的是Autowired,那么配置多個(gè)相同類型的Bean的話,將無(wú)法進(jìn)行準(zhǔn)確的注入操作。必須使用@Resource完成。
          5.Hibernate控制反轉(zhuǎn)
          現(xiàn)在所說(shuō)的是Hibernate中針對(duì)關(guān)系的配置處理,控制反轉(zhuǎn)就是把控制權(quán)交給了對(duì)方,這種情況一般出現(xiàn)在數(shù)據(jù)的級(jí)聯(lián)關(guān)系配置上:一對(duì)多、多對(duì)多。
          以一個(gè)程序的分析為例:一個(gè)人有多本書(shū),在Hibernate的世界里充滿了神奇,它可以自動(dòng)將沒(méi)有的數(shù)據(jù)進(jìn)行增加處理。正常的流程,首先要有一個(gè)人,這個(gè)人會(huì)有一個(gè)編號(hào),在進(jìn)行書(shū)的信息添加的時(shí)候就需要把這個(gè)人的編號(hào)一起保存進(jìn)去。
          如果不配置控制反轉(zhuǎn),它的處理:
          ——增加人的信息;
          ——增加所有書(shū)的信息,但此時(shí)人的保存的關(guān)聯(lián)字段內(nèi)容是null;
          ——再更新所有書(shū)的信息,將人的關(guān)系的內(nèi)容保存進(jìn)來(lái)。
          正常的流程(控制反轉(zhuǎn),將子表與父表關(guān)聯(lián)字段的使用控制權(quán)交給子表自己控制)是:
          ——保存人的信息,同時(shí)取得人的編號(hào),將這些編號(hào)設(shè)置到書(shū)的內(nèi)容里面;
          ——保存書(shū)的信息
          copyright © 江蘇易潤(rùn)信息技術(shù)有限公司 版權(quán)所有
          亚洲av日韩av永久无码色欲_国产SUV精品一区二区五_国产乱人伦偷精品视频免下载_亚洲精品国产精品国自产观看
          <thead id="zti7y"></thead>

            <ol id="zti7y"><small id="zti7y"></small></ol>
              <big id="zti7y"></big>
                <tfoot id="zti7y"><optgroup id="zti7y"></optgroup></tfoot>
              1. <center id="zti7y"><strong id="zti7y"></strong></center>