1.SpringMVC與前/后台的json數據交互
https://blog.csdn.net/zmx729618/article/details/78779073
2.省、市、區三級聯動(或者直接在jquery插件庫中導入jquery插件)
https://www.cnblogs.com/zhujiabin/p/4995591.html
3.dom4解析實例
https://www.cnblogs.com/Toolo/p/JavaDom4j.html
4.Spring配置項<context:annotation-config>的解釋說明
https://www.cnblogs.com/_popc/p/3972212.html
5.@Autowired注解與@Resource注解的區別與用法
https://blog.csdn.net/changqi008/article/details/83003669
使用@Resource注解在字段上,這樣就不需要寫setter方法了,並且這個屬性是屬於J2EE的,從而可以減少對spring的耦合
6.sql server 2008 安裝提示 Restart computer failed
https://zhidao.baidu.com/question/1239251825799710419.html? qbl=relate_question_1&word=%D4%F5%C3%B4%BD%E2%BE%F6%B0%B2%D7%B0SqlServer2008%D7%DC%CA%C7%CC%E1%CA%BERestart%20computer%20as%20failed
7.Invalid bound statement (not found)錯誤的可能原因
https://www.cnblogs.com/liaojie970/p/8034525.html
8.Java連接SQL Server 2008
https://blog.csdn.net/qq243920161/article/details/78971861
9.前端導出json數據的js代碼
https://www.cnblogs.com/lxk233/p/10224164.html
10.后台三種遍歷的方法的區別
普通for\增強for\iterator
11.@ResponseBody和@ResquestBody的用法
備注:每一個方法都要加ResponseBody??
12.開發中遇到的問題
1)在本地上運行的項目沒有問題,部署到服務器上出現三級聯動沒有數據
問題所在:js文件中文亂碼,導致數據無法顯示
問題分析和解決方法:文件所有的編碼格式都是utf-8,在服務器上部署時,
該文件的編碼方式應該改為ASCII
2)sqlserver數據庫插入數據中文亂碼,多種情況如下:
解決方式:
1.未建立數據表時
建表時注意該表的排序方式為Chinese_PRC_90_CI_AS
2.已建立數據表時,在不刪除數據的情況下,將表帶中文的所有的字段的排序方式改為Chinese_PRC_90_CI_AS,同時將數據類型改為nvachar
3)ajax實現前端分頁和文件導出功能的設計思路
1.文件導出excel
在通過ajax請求將返回的json數據結果集賦值給一個全局變量,將表頭的中文字段定義成一個字符串之后,通過循環遍歷json數據中對應相應的值。
點擊下載的實現效果通過var link=document.createElement("a")創立一個a標簽,通過link.download=""創建一個文件名,將數據加入文件即可
2.分頁
加入插件,將頁數賦值給全局變量,控制循環輸出的條數
4)服務器版本為jdk1.7,本地jdk為1.8,控制所有的版本一致時,調用順豐打印圖片的jar包時老是報版本錯誤
解決方式:看日志文件發現其錯誤指向jar包中的一個類,點開發現其編譯版本為jdk1.8。由於jar文件無法重新編譯,后將服務器的jdk改為1.8即可解決問題
依據:jdk版本向下兼容
5)數據庫無法連接,報錯信息:版本不兼容
錯誤原因:換低版本的驅動包
13. @Autowired(required =false) MaterialMapper materialMapper;
14.JQuery選擇器通過click事件獲取當前點擊對象的id,name,value屬性
https://blog.csdn.net/qq_34873338/article/details/71189938
15.斷網報錯BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
配置文件有問題,簡單的說本地沒有該引用
16.單個字段太長,選擇合適的長度顯示,其余的部分隱藏起來然后可以在相應的字段加上懸浮框
17.配置數據庫連接的時候報錯版本不一致
原因:驅動包的版本要對應
18.ajax數據傳遞json格式的數據到后台時,如果需要接受返回的值也需要在后台封裝成相應的json數據格式,如果是boolean型的值,
則僅僅只需要在前端success回調函數中編寫true或者false 的邏輯代碼
19。本地環境是jdk1.8,公司服務器是jdk1.7.在順豐官網中sdk打印服務說的是jdk1.7及以上,
無需重新改變自己的jdk版本,僅僅只需要將下載jdk1.7,並把自己的項目用jdk1.7編譯。
在部署到服務器時排除其他因素的干擾時,仍然是報版本錯誤。在仔細檢查之后發現順豐提供打印服務的jar包全部都是jdk1.8的,
最后只能將公司服務器上的jdk換成1.8的。(jdk的運行環境和編譯環境向下兼容,當然不同版本的tomcat需要對應相應的jdk版本)
20.在實現前端一些樣式問題上,為了提升開發效率,可以到jquery庫下載相應的插件(比如說時間插件,懸浮框,提示框,三級地區聯動等)
21.在Springmvc框架中,我們無須在controller層傳遞httpServlet參數,引文springMvc會將前台傳遞的參數自動封裝成對象
22.在ssm框架中,核心的配置就是每一層的掃描器,如@controller,@service,@component,配置好之后我們就可以直接使用相對應的對象了
主要架構:mapper層寫sql語句和方法接口
service層直接調用mapper中對應的方法,controller層調用service層
如果業務較為復雜,對查詢的數據有處理邏輯代碼,建議增加dao層作為mapper層的實現類,service層直接調用
ps:spring注入的兩種方式(1.注解 2.配置文件)
23.在ajax實現文件導出時,如果一個字段的值包含逗號,他會截取成兩列,需要對字符串進行處理
24.日期的格式轉換
在sql語句層:convert(nvarchar,date,23)轉換成YY-MM-DD的形式
后台:SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");//設置日期格式
orderid="ZY-"+df.format(new Date())+str;
前台:fmt標簽(導入標簽庫)、js、正則表達式,jsr 303、Hiberbate Validator(jsr 303 的擴展,導入5個jar包)
25.sql優化
1.在表中建立索引,優先考慮where.group by使用到的字段。
2.查詢條件中,一定不要使用select *,因為會返回過多無用的字段會降低查詢效率。應該使用具體的字段代替*,只返回使用到的字段。
3.不要在where條件中使用左右兩邊都是%的like模糊查詢,盡量在字段后面使用模糊查詢
4.盡量不要使用in 和not in,連續的數值用between
5.盡量不要使用or,會造成全表掃描,用union
6.盡量不要在 where 子句中對字段進行表達式操作,這樣也會造成全表掃描。
7.where條件里盡量不要進行null值的判斷,null的判斷也會造成全表掃描(給字段加默認值,例如0或空)
8.盡量不要使用where 1=1的條件
9.盡量不要在where條件中等號的左側進行表達式.函數操作,會導致全表掃描
10.程序要盡量避免大事務操作,提高系統並發能力。
11.一個表的索引數最好不要超過6個
26.spring事務(簡單的說避免程序出錯導致對數據庫的操作不完整,使用事務可以保持數據的一致性)
https://www.cnblogs.com/yixianyixian/p/8372832.html
相關知識點:
1.Spring並不直接管理事務,而是提供了多種事務管理器,他們將事務管理的職責委托給Hibernate或者JTA等持久化機制所提供的相關平台框架的事務來實現
2.Spring事務管理器的接口是org.springframework.transaction.PlatformTransactionManager
3.跨越了多個事務管理源(比如兩個或者是多個不同的數據源),你就需要使用JtaTransactionManager
4.Hibernate多年來一直是事實上的Java持久化標准,但是現在Java持久化API作為真正的Java持久化標准
5.使用spring聲明式事務,spring使用AOP來支持聲明式事務,會根據事務屬性,自動在方法調用之前決定是否開啟一個事務,並在方法執行之后決定事務提交或回滾事務
6.事務應該具有4個屬性:原子性、一致性、隔離性、持久性。這四個屬性通常稱為ACID特性。
27.ssm框架以注解的形式實現事務管理
https://blog.csdn.net/zhshulin/article/details/38108159
28.事務的隔離級別
臟讀:
不可重復讀:重點是修改
幻讀:在於新增或刪除
29.Spring事務回滾機制理解
spring aop 異常捕獲原理:被攔截的方法需顯式拋出異常,並不能經任何處理,這樣aop代理才能捕獲到方法的異常,才能進行回滾,默認情況下aop只捕獲runtimeexception的異常
當異常被捕獲時(catch)時,Spring事務則無法回滾,若想要讓spring事務捕獲到,則需要繼續拋出異常
理解:1.比如說上一個調用的方法對項數據進行了操作,但在后面的操作中拋出了異常,而在sping事務管理中又配置了該異常的捕獲,則之前的操作會進行數據回滾
2.另一種方式是用程序控制進行判斷,避免出現該運行時異常
3.spring 中常用的兩種事務配置方式以及事務的傳播性、隔離級別
https://www.cnblogs.com/dj66194/p/7654555.html
30.spring以注解的形式實現事務管理
https://www.cnblogs.com/younggun/p/3193800.html
31.maven的使用
https://www.cnblogs.com/gaojinshun/p/11252438.html
1.整合ssm(springmvc)
https://www.cnblogs.com/panda001/p/11247569.html
2.聚合項目--使得項目復用性高
3.Spring對數據校驗支持的核心API:SmartValidator
https://www.cnblogs.com/fangshixiang/p/11249498.html
33.數據校驗
34.ssm整合quartz,純注解開發(親測簡單實用)
https://blog.csdn.net/weixin_43832604/article/details/88862926
https://blog.csdn.net/f641385712/article/details/96638596
https://blog.csdn.net/f641385712/article/details/96764829
35.JS替換所有逗號
str = str.replace(/,/g, "");//取消字符串中出現的所有逗號