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

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

难度中级
时长 4小时30分
学习人数
综合评分9.73
430人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.6 逻辑清晰
  • 如果resultType指向Map,那么查询的数据集会以键值对的形式保存到Map中
    查看全部
  • 常用标签总结
    查看全部
    0 采集 收起 来源:常用标签

    2016-12-21

  • 一、获取自增主键值: <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中实体类的属性名)指定该对象的主键值:即将其存到对应类的对象的id属性中 二、找不到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://127.0.0.1:3306/micro_message?useUnicode=true&amp;characterEncoding=UTF-8 4. 数据库、表的编码; 5. 展示页面的编码:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6. 浏览器编码问题等。
    查看全部
    0 采集 收起 来源:常见问题解析

    2018-03-22

  • 一、resultMap和resultType:当配置resultType时,就不需要配置resultMap,看似resultType方便,但是会被受限制,没有resultMap开放多。 相同点:都是表示查询结果集的类型。 不同点:resultMap需要手动配置映射关系,而resultType是直接指定java类型或者自定义的实体类型,查询结果集的列名必须和实体属性名称一致(实体类:名称大小写可以忽略;java类型,如Map集合的key大小写要一致,尽量都大小写规范,如果不放心可以select ID id,...)。 优缺点: 1、resultType结果集列名要与java属性名一样,但是resultMap不受限制,因为resultMap有column来规定。 2、由于SQL类型与Java中类型部分不匹配,resultMap可以通过typeHandler=""来匹配(如:SQL中的0和1来表示java中的false和true;Date类型的转换),但是resultType无能为力。 二、parameterMap和patameterType: 表示传入参数的对应关系,前者不推荐使用,只是mybatis为了适应以前的版本。 提示:看到Map字眼的想到映射关系,看到Type字眼的想到类型。 三、#{}和${}: 相同点:都是用来作为占位符。 不同点:#{}在预编译的时候会被替换为?,而${}在预编译的时候直接将变量的值替换进去,而且没有引号(所以还要加上“'${...}'”),故一般都是用前者,个别情况会使用后者:如需进行排序,且排序字段为参数时可以使用${}(order by后面不喜欢被预编译,所以使用${}更为恰当)。 #{}:有预编译,可防sql注入, ${}:无预编译,直接拼接参数,字符串无引号; 四、#{}和ognl:在#{}中如果是基本类型,其中的名称可以随便写(不推荐),但一般都用_parameter,因为值唯一,而ognl中必须写成_parameter的方式
    查看全部
  • 常用标签汇总以及用法说明:【特别注意trim、sql】 trim是可以代替where和set以及其他标签; sql并不是一句完整的Sql语句而是sql语句中常用到的查询列,可将该查询列定义为常量;
    查看全部
    0 采集 收起 来源:常用标签

    2016-12-20

  • <collection property="主表实体类中的引用名" resultMap="子表的命名空间.两表相关联的字段">标签是在主表中 【在主表中定义一个引用,查询出来的主表中的数据关联子表中的数据】 <association property="子表实体类中的引用名" resultMap="主表的命名空间.两表相关联的字段">该标签是在子表中 【在子表中定义一个引用,查询出来的子表中的数据去关联主表中的数据】
    查看全部
    0 采集 收起 来源:常用标签

    2018-03-22

  • 类似java中的if-eles标签及switch标签: 【when中可以代表if--else if-else】 when可以代表if或者else if; otherwise代表else; 【switch中可以代表case-case-defult】 多个when代表多个case; otherwise代表defalut; -----------------------------例:--------------------------------- <choose> <when test=""></when> <when tes=""></when> <otherwise></otherwise> </choose>
    查看全部
    0 采集 收起 来源:常用标签

    2018-03-22

  • <trim>可以代替<where>或者<set>标签 ----------------------------------- prefix表示:要代替的标签; suffix表示:[如果trim标签内有内容输出则在后面添加suffix里的内容] prefixOverrides表示:拼的字符串最前面出现了and则去掉 suffixOverrides表示;后面出现就切掉 -----------------------例:代替set标签---------------------------- <trim prefix="set" suffixOverrides=","></trim> -----------------------例:代替where标签-------------------------- <trim prefix="where" prefixOverrides="and/or"></trim>
    查看全部
    0 采集 收起 来源:常用标签

    2018-03-22

  • where标签 ------------------------------------------------------ <where> <if test="Command != null and !"".equals(Command.trim())">and command=#{Command}</if> <if test="Description != null and !"".equals(Description.trim())">and description like'%' #{Description} '%'</if> </where> 0.输出where关键字 1.当没有检索条件时自动不输出where关键字 2.将最前面的and给截获,自动拼装为正确的sql语句。 sql标签 ------------------------------------------------------------ <sql id="columns">ID,COMMAND,DESCRIPTION,CONTENT</sql> select<include refid="columns"> from Message 【引用】 <update>update MESSAGE <set>【同where一样自动调节为正确的sql语句】 <if test="Command != null and !"".equals(Command.trim())">and command=#{Command}</if> <if test="Description != null and !"".equals(Description.trim())">and description like'%' #{Description} '%'</if> </set> </update>
    查看全部
    0 采集 收起 来源:常用标签

    2018-03-22

  • xml中如何反应一对多的关系? 主表里面包含子表的集合。 <conlection property="contentList" resultMap="CommandContent.Content"/> <result column="Description" jdbcType="VARCHAR" property="descrition"/> colunmn属性的值:表示数据库这边的列名 【但不是指的数据库中的列名,而是查询出来的结果集的列名】 【只要column属性有别名,那么相对应的xml配置文件中的column列的值也要带上别名。但!!!不包括前缀,例:a.ID test ,相对应的column属性值是test】 ------------------------------------------------------------------ 当两个表中有相同列名时,这时候不光要取前缀名, 更重要的是给两个列都取别名!!!程序才能区分哪个列 ----------------------------------------------------------------- property属性的值:表示对应的实体类中的字段
    查看全部
  • 在js中: var content = $("#contnet").val(); 如果content="", content=null, content=undefined, content=0; 这时!content都等于true
    查看全部
  • 更改页面编码格式: 文件右键---->properties----->Resource------>other[utf-8]
    查看全部
  • Mybatis常用标签
    查看全部
    0 采集 收起 来源:常用标签

    2016-12-16

  • .properties文件存的是Key-Value【键值对】 输出形式:(级别由低到高) log.debug(); log.info(); log.warn(); log.error(); log4j.rootLogger【配置Debug级别及输出位置Console】 例:log4j.rootLogger=DEBUG,Console[会输出级别大于等于debug的所有信息] log4j.appender.Console=org.apache.log4j.ConsoleAppender【配置这个类决定输出位置】 log4j.appender.Console.layout=org.apache.log4j.PatternLayout【布局】 log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n【自定义格式】 %d:时间,%t:线程名称,%-5p代表输出的级别[-代表右边补齐,5代表至少输出5位,不足用空格代替],%c:输出日志所处于类的全名(包括包名),%m:输出的附加信息,%n:代表换行 log4j.logger.org.apache=INFO【org.apache自己写的包名】
    查看全部
  • OGNL直接支持java中的方法。 例: <if test="Command != null and !&quot;&quot;.equals(Command.trim())">and command=#{Command}</if> &&:符号转义&amp;&amp; 或者 and "":符号转义&quot;&quot; 给参数赋值:#{command}是由mybaits处理的,遇到#{},mybaits会自动替换为?
    查看全部

举报

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
您的移动学习伙伴

公众号

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

友情提示:

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