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

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

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