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

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

难度中级
时长 4小时30分
学习人数
综合评分9.73
430人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.6 逻辑清晰
  • <!-- 配置sql语言,查询语言,ID+ namespace="Message"为唯一的标识符 这里的parameterType请注意,拼接的sql语句的属性可以是一个string 类型的, 多个必须封装起来例如bean层调用时是她所在的包 一个 --> <select id="queryMessageList" parameterType="com.imooc.bean.Message" resultMap="MessageResult"> select ID,COMMAND,DESCRIPTION,CONTENT from MESSAGE <where> <!-- 我在此处开始使用mybatis的动态拼接了,用的是ognl的表达式,&&=and=&amp;&amp; “”=&quot;&quot; ?号的处理是#{查询的属性}--> <if test="command != null and !&quot;&quot;.equals(command.trim())"> and COMMAND=#{command} </if> <!-- 这里是模糊匹配,使用模糊匹配的话必须用'%'将传参包起来 --> <if test="description != null and !&quot;&quot;.equals(description.trim())"> and DESCRIPTION like '%' #{description} '%' </if>
    查看全部
  • 一个指定对应多条不同回复内容<br> 一对多的关系,一般拆分成两张表,这样就减少了冗余数据<br> ①表指令表:主键、name、description<br> ②表指令表对应的内容:主键、内容、指令表的主键(command_id)<br> 这样,一个指定就可以在②表找到所对应的多条内容 两种结构: ——————————①一条指令回复一组内容 ——————————②一条指令回复一组中的一个内容,在java代码中随机回复一条即可 dao层内容: ——————————————————————列表查询 ——————————————————————页面初始化 ——————————————————————微信对话
    查看全部
  • SqlSession的作用:1、向SQL语句传入参数 2、执行SQL语句 3、获取结果 4、事务的控制 得到SqlSession:1、通过配置文件获取连接 2、通过SqlSessionFactoryBuilder() 来得到sql 会话工厂 3、最后打开会话得到SqlSession
    查看全部
  • 我的一直查不出来,直到打印了System.out.println(statement.toString())之后,发现 select ID, COMMAND, DESCRIPTION, CONTENT from message where 1 = 1 and COMMAND='??' 查了一下,原来是设置datasource时没有指定编码,导致中文乱码的问题。只需要做如下修改即可,注意问号后面的字符编码设定。 jdbc:mysql://127.0.0.1:3306/micro_message?characterEncoding=utf8
    查看全部
    2 采集 收起 来源:列表查询

    2016-05-11

  • 本节介绍了log4j这个日志jar包,引入properties配置文件,了解一些常见配置,日志的界别。为什么mybatis能够识别log4j,它本身提供了日志工厂类,用于加载配置的日志文件,当然也可以使用其他日志技术
    查看全部
  • log4j.propertis的配置<br> log4j.rootLogger=DEBUG,Console<br> <br> log4j.appender.Console=org.apache.log4j.ConsoleAppender<br> log4j.appender.Console.layout=org.apache.log4j.PatternLayout<br> log4j.appender.Console.layout.ConversionPattern=%d[%t]%-5p[%c] - %m%n<br> log4j.logger.org.apache=INFO
    查看全部
  • Mybatis中SqlSession的作用和获取步骤:
    查看全部
  • 一、获取自增主键值: <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. 浏览器编码问题等。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    1 采集 收起 来源:常见问题解析

    2018-03-22

  • Ps1: <mapper namespace="">//namespace属性必须存在不可省略。 <select id=""> 如果namespace名不同,则id可以一样,调用的时候,namespace名.id名;若namespace名相同,则id不能一样。 Ps2: <mapper namespace=""> <resultMap id=""> //同上... 但是注意:resultMap——id可以与select——id一样(即使namespace相同),只要它们的id在各自领域(resultMap或select)范围内唯一即可。 Ps3:<resultMap>的子标签中,如果是主键栏,用<id>子标签,如果是普通栏,用<result>子标签。 Ps4:<select resultMap="resultMap中的id名">。 Ps5:<mappers>中子标签<mapper>的resource属性也是从src根目录开始算起,“.”改为“/”;如果有多个<mapper>可以继续写,个人理解相当于注册。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • List<Message> messageList=new ArrayList<Message>(); while(rs.next()){ Message message=new Message(); messageList.add(message); message.setId(rs.getString("ID")); ... } 注意:先放数据,再添加到容器;或者先添加到容器,再放数据。都是一样的,因为它放进去是引用类型,并不是对象本身。 select * from...//1 select id,name,...(所有列名) from...//2 注意:2的效率和安全性比1要高。 Ps1: Alt+Shift+J:自动添加类的文档注释。 Ctrl+Shift+Y:大写转小写 Ctrl+Shift+X:小写转大写 Ps2:varStatus=""中变量名支持自定义。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    1 采集 收起 来源:列表查询

    2018-03-22

  • http://img1.sycdn.imooc.com//54853cdb000191eb12000530-120-68.jpg
    查看全部
    1 采集 收起 来源:黎明前的黑暗

    2014-12-08

  • 1.<sql>标签 里面的内容,可以在 <include>引用 对于重复使用的sql字段,可以提取出来 2.<where>标签 表示 (1)如果里面的sql语句都不满足,可以无条件检索 (2)如果满足,可以将后面拼接起来的条件的第一个and/or 去掉
    查看全部
    1 采集 收起 来源:常用标签

    2018-03-22

  • 我的Q1019017657 看名字!有兴趣咨询
    查看全部
    1 采集 收起 来源:案例简介

    2014-11-27

  • resultMap与resultType属性都是表示结果集与java对象之间的关系.但要注意两者区别. 如果用了resultType属性就不用在Sql配置文档中配置<resultMap>标签. resultType映射的原理是:如果映射到自定义类,那么javabean中的属性名与查询出来的列名相同的时候就表示他们有映射关系(大小写不敏感,也不用考虑同名列名的问题),结果集就会放进这些javabean的属性中. resultType也可以映射到Map中,那么查询的列名就是key值,数据就是value值. resultMap属性="要映射的<resultMap>标签的id值" resultType属性="要映射的java类" <select id="find" resultMap="resultMessage"> select * from message </select> <select id="find" resultType="com.imooc.Message"> select * from message </select> //此时就不需要配置<resultMap>标签.
    查看全部
  • 乱码排查: 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" /> useGeneratedKeys属性设为true,可获取自增长的id
    查看全部
    1 采集 收起 来源:常见问题解析

    2018-03-22

举报

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

公众号

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

友情提示:

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