-
案例 分析 ?查看全部
-
parameterType取值寫法
查看全部 -
容易混淆的概念
查看全部 -
常用標簽:
查看全部 -
parmeterType取值寫法總結:
查看全部 -
前者有預編譯效果,多用于where子句中
后者沒有預編譯效果,不會自動拼上‘’,可用于orderby后面根據列名排序時
查看全部 -
看到Map結尾的應該想到映射關系,看到Type結尾的想到Java的類型,Map的使用由于映射關系會使用受限。
查看全部 -
log4j.appender.Console.layout=org.apache.log4j.PatternLayout? 布局方式
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
自定義輸出內容的格式
%d 產生日志的時間
%t 產生日志所處于線程的線程名稱
%p 輸出的日志級別
-5輸出的字符至少占5位字符,不足5位將會用空格補齊
負號指的是補齊的空格在右邊,如果沒有負號,補齊的空格將在左邊
%c 你輸出的日志所屬于的那個類的全名,包括包名
%m 指的是你輸出的時候附加的信息將會出現在這個位置
%n 指的是換行
log4j.logger.org.apache=INFO ? ? 為某個特定的包(org.apache)下面去配其他不同的級別
log4j.rootLogger=DEBUG,Console??? 針對整個工程下面所有輸出日志的地方,都將會按照這個規定來輸出
查看全部 -
log4j.rootLogger=DEBUG,Console 輸出日志的級別,位置
輸出位置:輸出到控制臺
log4j.appender.Console=org.apache.log4j.ConsoleAppender
查看全部 -
log4j.rootLogger=DEBUG,Console 輸出日志的級別,位置
輸出日志的級別:由低到高
debug? info? warn? error
log4j.rootLogger=DEBUG,Console? 大于等于debug級別的輸出形式都會輸出
log4j.rootLogger=INFO,Console? 大于等于info級別的輸出形式都會輸出,debug輸出不出來了
...
以此類推
查看全部 -
表格隔行換色:
<c:if test="${status.index%2!=0}"> style='background-color:red
查看全部 -
常用的標簽
查看全部 -
<form action="<%=basePath %>Delete.action" method="post" id="messageTo" >
<input id="messageId" name="messageId"/>
<input id="messageCommand" name="command"/>
<input id="messageDescription" name="description"/>
</form>
<script src="<%=basePath%>resources/js/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
function doPost(id) {
var command = $("input[name='command']").val();//指令名稱
var description = $("input[name='description']").val();//描述
? $("#messageId").val(id);
? $("#messageCommand").val(command);
? $("#messageDescription").val(description);
$("#messageTo").submit();?
}
</script>
完全根據老師思路書寫的! 以下是邏輯代碼
dao層public void deleteMessageById(Integer id) {
SqlSession sqlSession = MybatisUtil.getSqlSession();
sqlSession.getMapper(MessageDao.class)
.deleteMessageById(id);
sqlSession.commit();
MybatisUtil.closeSqlSession(sqlSession);
}
xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bdqn.dao.MessageDao">
<resultMap type="Message" id="messageList">
<id column="ID" property="id"/>
<result column="COMMAND" property="command"/>
<result column="DESCRIPTION" property="description"/>
<result column="DESCRIPTION" property="description"/>
<result column="CONTENT" property="content"/>
</resultMap>
<select id="queryMessageList" resultMap="messageList" parameterType="Message">
SELECT * FROM `message` where 1=1?
<if test="null!=command and !''.equals(command.trim())">and command = #{command}</if>
<if test="null!=description and !''.equals(description)">and description like '%' #{description} '%'</if>
</select>
<delete id="deleteMessageById" parameterType="int">
DELETE FROM `message` WHERE ID = #{_parameter}
</delete>
</mapper>?
Servlet
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
//從表單取值
String id = req.getParameter("messageId");
//調用刪除方法
MessageService messageService = new MessageServiceImpl();
messageService.deleteMessageById(id);
req.getRequestDispatcher("/List.action").forward(req, resp);
}
查看全部 -
SSM學習---Mybatis之常見問題解析
一、獲取自增主鍵值:?
<insert?id="insert"?useGeneratedKeys="true"?keyProperty="id"?parameterType="com.imooc.bean.Command">? ????insert?into?command(name,description)?values(#{name},#{description})? </insert>
????解析:添加數據(在主外鍵的關系中)可以使用 useGeneratedKeys="true",可獲取自增長的id,并配合keyProperty="id"(java中實體類的屬性名)指定該對象的主鍵值。 ?
二、找不到namespace.id的異常效果:?
????1、在Configuration.xml沒有配置<mappers><mapper resource="*.xml"></mapper></mappers>;
?????2、在1的配置中或selectList("Message.queryMessageList",message);中,名字寫錯。
?三、排查SQL語法錯誤:
????如果控制臺出現SQL語句問題,復制到SQL軟件上執行,若有參數,手動寫上并執行。
?四、不要過度使用${}。
?五、亂碼問題:?
????1. servlet傳參時的編碼:request.setCharacterEncoding("utf-8");或直接使用過濾器;?
????2. Java文件本身的編碼;?
????3. 連接數據庫的參數中,設定編碼方式:jdbc:mysql://192.168.1.1:3306/cms?characterEncoding=utf-8?
????4. 數據庫、表的編碼;?
????5. 展示頁面的編碼:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />?
????6. 瀏覽器編碼問題等。
查看全部 -
SSM學習---Mybatis之容易混淆的概念
1、resultMap和resultType
resultType中類的屬性名要和數據庫表中的列名一致,但是是大小寫不敏感的;如果要把結果放在一個map中,key為表的列名,value為值,且是大小寫敏感的
2、parameterMap和parameterType
parameterMap不推薦使用
3、#{}和${}
#{}有個預編譯的過程,首先會被?代替,然后通過prepareStatement傳入參數;${}會被直接替換為參數,使用場景例如order by 后的參數傳入
4、#{}和ognl
查看全部
舉報