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

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

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