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

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

难度中级
时长 4小时30分
学习人数
综合评分9.73
430人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.6 逻辑清晰
  • mybatis常用标签
    查看全部
    0 采集 收起 来源:常用标签

    2017-09-01

  • 常见问题解析 一、获取自增主键值: <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. 浏览器编码问题等。
    查看全部
    1 采集 收起 来源:常见问题解析

    2018-03-22

  • 这个insert语句传到数据库时 插入了数据 但是 id是没有值得 需要使用keyProperty=“id” id为Command 实体类的属性 这样command对象在传入时是没有值得 执行时就有值了
    查看全部
    0 采集 收起 来源:常见问题解析

    2017-08-30

  • insert时 useGeneratedKeys=“true”表示 主键是自增主键 而不是自己指定的主键值
    查看全部
    0 采集 收起 来源:常见问题解析

    2017-08-30

  • 一、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后面预编译是不可以用直接的列名比?更合适,所以选用${})。 四、#{}和ognl:在#{}中如果是基本类型,其中的名称可以随便写(不推荐),但一般都用_parameter,因为值唯一,而ognl中必须写成_parameter的方式
    查看全部
  • Mybatis常用标签:全部都是用在xml配置文件 **collection标签是一对多,在“一”的xml对“多”的集合的引用 **association标签是多对一,在“多”的xml对“一”的对象的引用
    查看全部
    0 采集 收起 来源:常用标签

    2017-08-30

  • xml中如何反应一对多的关系? 主表里面包含子表的集合。 <conlection property="contentList" resultMap="CommandContent.Content"/> <result column="Description" jdbcType="VARCHAR" property="descrition"/> colunmn属性的值:表示数据库这边的列名 【但不是指的数据库中的列名,而是查询出来的结果集的列名】 【只要column属性有别名,那么相对应的xml配置文件中的column列的值也要带上别名。但!!!不包括前缀,例:a.ID test ,相对应的column属性值是test】 ------------------------------------------------------------------ 当两个表中有相同列名时,这时候不光要取前缀名, 更重要的是给两个列都取别名!!!程序才能区分哪个列 ----------------------------------------------------------------- property属性的值:表示对应的实体类中的字段 ------------------------------------------------ left join 无论子表有没有内容,主表都应该显示出来
    查看全部
  • 如果js中Dom对象的值为 ""、null、undefined、0;则if(Dom对象)为false 点击按钮提交请求,判断字符串不为空的话,执行ajax请求。 ajax复习: url:请求后台的路径 type:提交方式 dataType:数据类型 timeout:超时时间 success:成功后的回调函数,函数中的内容是对服务端传递的数据进行处理。 data:请求参数
    查看全部
  • 知识点: 1.Connection为何不需要commit();因为conn.setAutoCommit(true);默认设置为自动提交,而myBatis把它封装后,setAutoCommit(false);所以需要手动提交事务。 2.批量删除的mapper.xml写法,separator是分割的意思: <delete id="deleteBatch" parameterType="java.util.List"> delete from message where ID in( <foreach collection="list" item="item" separator=","> #{item} </foreach> ) </delete> 3. /** * 调用后台批量删除方法 */ function deleteBatch(basePath){ $("#mainForm").attr("action",basePath+"DeleteBatchServlet.action"); $("#mainForm").submit(); } 解析:将id为mainForm的表单的action提交路径改为basePath+"DeleteBatchServlet.action"这个并且执行submit提交表单! 4.servlet只负责接受来自页面的数据,不对其进行任何处理与转换。
    查看全部
  • 1.servlet负责接收页面的值和向页面传值。如果有业务逻辑需要处理则调用相应的service。service接收servlet传过来的值,并对其进行处理,做业务的操作,算法等等,如果有需要则调用相应的dao层。dao层完成与数据库的交互,执行相应的SQL语句。 2.增删改默认按事务处理,Mybatis对事务的控制,默认是不自动提交的,需要手动提交 sqlSession.commit();
    查看全部
  • log4j.properties详解: 应用log4j(日志)调试动态SQL: 1、jar包和配置文件 2、log4j.properties <1>log4j.rootLogger=DEBUG,Console:输出级别(级别<由低到高>debug/info/warn/error)和输出位置(控制台) <2>log4j.appender.Console=org.apache.log4j.ConsoleAppender:配置这个类才会输出在控制台(可在别处) <3>log4j.appender.layout=org.apache.log4j.PatternLayout:布局(按照自己的想法去输出)<4>log4j.appender.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n: %d:产生日志的时间 [%t]:产生日志所处线程的线程名称 %-5p:输出日志的级别、 "5":代表输出的字符会占5位字符,不足则会用空格补齐; "-":指的是补齐的空格在右边,没有则在左边. [%c]:指输出这个日志时处于的那个类的全名,包括包名 %m:输出的时候附加的信息 %n输出换行 <5>log4j.logger.org.apache=INFO:为不同包配不同的级别,把总的覆盖,可看到自己想看的信息 log4j配置详解 一、log4j.rootLogger=INFO, stdout, R 第一个参数为等级,后面可跟一到多个参数,为输出的位置; 例句的意思为将等级为INFO的日志信息使用stdout和R进行输出,stdout和R可以自己命名; 等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,OFF是关闭,不输出任何信息,其他级别按这个顺序依次降低,如果 指定一个级别,如INFO,则比该级别高的信息都会输出
    查看全部
  • xml 或者是 HTML中 有转义的方法 xml中 &是不能直接使用的 必须要转义, 1、按照HTML的转法 & -> &amp; " -> &quot; 2、还可以用mybatis中的ognl的表达式中自己的操作符 && -> and 3.在xml配置文件中SQL语句的拼接: 3.1<if test="command!=null and !&quot;&quot;.equals(command.trim())"> and COMMAND=#{command}</if> 3.2<if test="description!=null and !&quot;&quot;.equals(description.trim())"> and description like '%' #{description} '%'</if>注意'%' #{description} '%'一定要有空格
    查看全部
  • Mybatis中的OGNL表达式: mod:取余 in:判断一个值是否在一个集合中
    查看全部
  • Mybatis中的OGNL表达式: Map中的_parameter.key 简写为 key foreach标签不属于 OGNL
    查看全部
  • sqlsession调用 方法来执行 sql语句 只是输入了select标签的名字,但是并没有输入sql配置文件的uri,所以要在数据库连接的核心配置文件中 导入 sql配置文件,即<mappers>标签与子标签<mapper> sqlsession调用时会用到这个名字 resultmap属性。对应的是resultmap标签的id mybatis配置文件中的mapper标签 属性是namespace 翻译是命名空间 mapper标签内包含 resultmap标签 是执行完查询语句后返回的结果集 resultmap有子标签 id。 用来配置 有主键约束的行 和result。 用来配置其他行 并列关系 ,都有属性column jdbctype property属性 column看名字 就是数据库的字段名 properry 是数据库对应dao类中的属性 select标签 insert标签 update标签。这些标签里写的都是sql语句 resultMap 中id是标识,是唯一的。resultMap中的子标签中的id表示后台数据库的主键,而result对应得实后台数据库除了主键以外的其他字段。
    查看全部

举报

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

公众号

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

友情提示:

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