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

通过自动回复机器人学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下载
官方微信
友情提示:

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