-
案例 分析查看全部
-
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
查看全部
举报