为了账号安全,请及时绑定邮箱和手机立即绑定

通过自动回复机器人学Mybatis---基础版

难度中级
时长 4小时30分
学习人数
综合评分9.73
430人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.6 逻辑清晰
  • 案例 分析  
    查看全部
    0 采集 收起 来源:黎明前的黑暗

    2018-09-23

  • parameterType取值写法


    查看全部
  • 容易混淆的概念

    查看全部
  • 常用标签:

    查看全部
    0 采集 收起 来源:常用标签

    2018-09-03

  • parmeterType取值写法总结:

    https://img1.sycdn.imooc.com//5b8bd28f00013c2006140192.jpg

    查看全部
  • https://img1.sycdn.imooc.com//5b8bd1fe000196cd04110031.jpg

    前者有预编译效果,多用于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

    查看全部
    0 采集 收起 来源:数据展示

    2018-09-01

  • 常用的标签https://img1.sycdn.imooc.com//5b874e8100018f1a07050432.jpg

    查看全部
    0 采集 收起 来源:常用标签

    2018-08-30

  • <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. 浏览器编码问题等。

    查看全部
    0 采集 收起 来源:常见问题解析

    2018-08-20

  • SSM学习---Mybatis之容易混淆的概念

    1、resultMap和resultType

    resultType中类的属性名要和数据库表中的列名一致,但是是大小写不敏感的;如果要把结果放在一个map中,key为表的列名,value为值,且是大小写敏感的

    2、parameterMap和parameterType

    parameterMap不推荐使用

    3、#{}和${}

    #{}有个预编译的过程,首先会被?代替,然后通过prepareStatement传入参数;${}会被直接替换为参数,使用场景例如order by 后的参数传入

    4、#{}和ognl

    查看全部

举报

0/150
提交
取消
课程须知
各位小伙伴们需要有一定Java Web开发基础,至少需要掌握以下内容: 1、JSP、Servlet、JSTL、EL 2、JS/JQUERY 3、JDBC 如果你还是新人,建议先移步网站相关课程,在理解并掌握相关知识之后再回来进修
老师告诉你能学到什么?
1、 Mybatis 的下载与配置 2、 Mybatis 的基本功能应用 3、 融合 Mybatis 的一个完整小案例的实战 4、 Mybatis 的特征总结 5、 Mybatis 常见 QA

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!