借助互聯(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)境搭建是沒有任何問(wèn)題的,但是為什么數(shù)據(jù)沒有呢?
個(gè)人經(jīng)驗(yàn)總結(jié)有如下幾點(diǎn):
(1) 你的數(shù)據(jù)庫(kù)里沒有符合條件的數(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è)“%”,如果沒有加,那么就不叫模糊查詢了;
(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開發(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沒有這樣的功能,因?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ì)見到兩類的注解:@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è)人有多本書,在Hibernate的世界里充滿了神奇,它可以自動(dòng)將沒有的數(shù)據(jù)進(jìn)行增加處理。正常的流程,首先要有一個(gè)人,這個(gè)人會(huì)有一個(gè)編號(hào),在進(jìn)行書的信息添加的時(shí)候就需要把這個(gè)人的編號(hào)一起保存進(jìn)去。
如果不配置控制反轉(zhuǎn),它的處理:
——增加人的信息;
——增加所有書的信息,但此時(shí)人的保存的關(guān)聯(lián)字段內(nèi)容是null;
——再更新所有書的信息,將人的關(guān)系的內(nèi)容保存進(jìn)來(lái)。
正常的流程(控制反轉(zhuǎn),將子表與父表關(guān)聯(lián)字段的使用控制權(quán)交給子表自己控制)是:
——保存人的信息,同時(shí)取得人的編號(hào),將這些編號(hào)設(shè)置到書的內(nèi)容里面;
——保存書的信息
copyright © 江蘇易潤(rùn)信息技術(shù)有限公司 版權(quán)所有
亚洲精品一本之道高清乱码,人禽无码视频在线观看,人妻无码专区一区二区三区,中文字幕人妻三级中文无码视频,精品人妻无码一区二区色欲产成人 ,国产精品日韩欧美一区二区三区 ,久久AV老司机精品网站导航,小粉嫩喷白浆在线,成人毛片无码一区二区,日本精品少妇一区二区三区
久久婷婷五月综合色一区二区| 成人特黄a级毛片免费视频| 国产成人欧美综合在线影院| 免费人成黄页在线观看视频国产| 四虎亚洲中文字幕无码永久| 69天堂人成无码免费视频| 精品久久久久久中文字幕人妻最新| 色噜噜AV男人的天堂手机版| 亚洲狠狠婷婷综合久久久久图片| 免费看小12萝裸体视频国产| 探花国产精品三级在线播放| 日日躁狠狠躁狠狠爱| 漂亮人妻被黑人久久精品| 男人的天堂AV色欲网免费| 亚洲国产成人精品无码一区二区| 少妇无码AV中文系列| 日日澡夜夜澡人人高潮| 午夜理论无码片在线观看免费| 日本精品区二区三区高清| 欧美一区二区人人喊爽| 成人无码AV一区二区三区| 免费网站看V片在线18禁| 天天澡天天揉揉AV无码| 国产精品福利一区二区久久| 国产97色在线 | 亚洲| 色综合天天综合狠狠爱_| 亚洲春色av无码专区a级| 亚洲成a人片77777潘金莲| 亚洲av无码一区二区一二区| 色综合AV社区男人的天堂| 天堂AV成年AV影视| 中文字幕人成乱码熟人妻| 福利永久黄网站色视频免费| 久久人妻AV无码中文专区| 国产在线国偷精品免费看| 老司机午夜视频十八福利| 国产精品喷水在线观看| AV鲁丝一区鲁丝二区鲁丝三区| 国内无遮挡18禁无码网站免费| 国产精品久久久久av福利动漫| 国产香蕉国产精品偷在线|