-
續OGNL及Mybaits中的foreach查看全部
-
sqlsession調用 方法來執行 sql語句 只是輸入了select標簽的名字,但是并沒有輸入sql配置文件的uri,所以要在數據庫連接的核心配置文件中 導入 sql配置文件,即<mappers>標簽與子標簽<mapper> sqlsession調用時會用到這個名字 resultmap屬性。對應的是resultmap標簽的id mybatis配置文件中的mapper標簽 屬性是namespace 翻譯是命名空間 mapper標簽內包含 resultmap標簽 是執行完查詢語句后返回的結果集 resultmap有子標簽 id。 用來配置 有主鍵約束的行 和result。 用來配置其他行 并列關系 ,都有屬性column jdbctype property屬性 column看名字 就是數據庫的字段名 properry 是數據庫對應dao類中的屬性 select標簽 insert標簽 update標簽。這些標簽里寫的都是sql語句 resultMap 中id是標識,是唯一的。resultMap中的子標簽中的id表示后臺數據庫的主鍵,而result對應得實后臺數據庫除了主鍵以外的其他字段。查看全部
-
resultMap里面 type對應類,column對應數據庫字段名,jdbcType對應數據庫類型(java.sql.Types),property對應實體類字段查看全部
-
不同的namespace,相同標簽id可以重復,同一個namespace,不同標簽id可以重復查看全部
-
Mybatis最核心對象SqlSession查看全部
-
Model: 數據表對應的模型; DAO:每個表對應一個DAO,對該表的一些操作。 Service:或Logic層,跟Servlet對應,一些相關的業務功能。 Servlet: 設置編碼/過濾器;接受頁面的值;向頁面傳值;業務需要調用service;跳轉。 關于今天的出現的幾個錯誤和學到的新知識: 1,jsp頁面傳值可以使用超鏈接形式為:地址?參數=要傳的值! 2,servlet總采用request.getParameter("參數”)接收; 3,jdbc中對占位符?的復制采用setInt(index,參數)的方式index代表第幾個?。 在Dao層中封裝了與數據庫有關的操作,在service層調用Dao層來處理業務邏輯,在servlet中調用service層中的對象來得到處理的結果,并且返回給頁面 servlet的幾個功能: 1.接受頁面的值 2.向頁面傳值 3.根據業務需要,調用service 4.跳轉頁面 Model: 數據表對應的模型; DAO:每個表對應一個DAO,對該表的一些操作。 Service:或Logic層,跟Servlet對應,一些相關的業務功能。 Servlet: 設置編碼/過濾器;接受頁面的值;向頁面傳值;業務需要調用service;跳轉。查看全部
-
Model: 數據表對應的模型; DAO:每個表對應一個DAO,對該表的一些操作。 Service:或Logic層,跟Servlet對應,一些相關的業務功能。 Servlet: 設置編碼/過濾器;接受頁面的值;向頁面傳值;業務需要調用service;跳轉。 =============================================================================== 在Dao層中封裝了與數據庫有關的操作,在service層調用Dao層來處理業務邏輯,在servlet中調用service層中的對象來得到處理的結果,并且返回給頁面 servlet的幾個功能: 1.接受頁面的值 2.向頁面傳值 3.根據業務需要,調用service 4.跳轉頁面查看全部
-
Mybatis最核心對象SqlSession查看全部
-
@關鍵代碼(技巧): StringBuilder sql=new StringBuilder(" select ID,COMMAND,DESCRIPTION,CONTENT from message where 1=1 "); List<String> paramList=new ArrayList<String>(); if(command!=null&&!"".equals(command.trim())){ sql.append(" and COMMAND=? "); paramList.add(command); } if(description!=null&&!"".equals(description.trim())){ sql.append(" and DESCRIPTION like '%' ? '%' ");//MySql語法:'%'空格?空格'%' paramList.add(description); } PreparedStatement pstmt=conn.prepareStatement(sql.toString()); for(int i=0;i<paramList.size();i++){ pstmt.setString(i+1,paramList.get(i)); } ResultSet rs=pstmt.executeQuery(); 注意1:PreparedStatement語句要在sql語句還沒準備好后面,但要在循環前面。 注意2:為何不直接在if語句后寫“?”的內容呢?因為不知道問號序號是多少,不好控制。 Ps1:Tomcat啟動一般用Debug,只要不要設置斷點,效果與Run是一樣的,這樣一來,如果想調試就設置斷點即可,不需要再切換到Debug模式(Ps:Debug模式下,修改Java代碼會自動上傳到服務器,無需重新啟動Tomcat)查看全部
-
1.不用String sql、sql+="" ,用StringBuffer sql、sql.append() 2.對應的原來的字符串要加上toString,如prepareStatement(sql.toString()) 3.查詢不可以用select *,要把查詢的字段都寫上,否則會降低效率 4.不為空+不為空字符串的判斷方法 if(des!=null&&!"".equals(des.trim())) 1=1,用戶沒輸入任何值的時候,此時的sql語句是 sql是select * from command where;這樣的話,sql語句就有問題;只有加上1=1才是一條完整的sql語句,因為1=1是永遠成立的,所以select * from command where 1=1 就相當于 select * from command。。。。。。否者會出錯(You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and COMMAND ='查看'' at line 1)查看全部
-
1.載入JSTL中的c標簽:<%@ taglib prefix="c" uri="http://java.sum.com/jsp/jstl/core" %> 2.利用c標簽來進行foreach循環和if判斷 <c:forEach items="${messageList}" var="message" varStatus="status"><!-- varSatus屬性,可以通過其屬性值獲取到本次循環的狀態,如其中的index可以獲取循環的次數(從0開始),可配合if標簽做隔行換色的效果 --> <tr <c:if test="${status.index % 2 != 0}">style='background-color:#ECF6EE;'</c:if>> <td><input type="checkbox" name="id" value="${message.id}"/></td> <td>${status.index + 1}</td> <td>${message.command}</td> <td>${message.description}</td> <td> </c:forEach>查看全部
-
自動回復機器人案例分析:查看全部
-
琥珀川振早見 MyEclipse斷點調試:在代碼最左端,也就是行號位置處雙擊,會出現一個實心小圓點,即加入的斷點,debug啟動程序,就會執行到斷點處: 按F5是進去方法里面, 按F6是一步一步走, 按F7是跳出方法里面(按F5后再按F7就跳出來了), 按F8是跳過本斷點執行所有的代碼。 時間: 2017-09-03 2查看全部
-
在配置log4j日志文件輸出時,rootLogger中的配置等級,是一個標準,其他地方的log4j的等級大于等于配置的等級時,可以正常執行查看全部
-
接著上述筆記,除了標識符,還可以使用自帶的操作符,and,or,mod.in.not in查看全部
舉報
0/150
提交
取消