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

通过自动回复机器人学Mybatis---加强版

难度中级
时长 2小时43分
学习人数
综合评分9.77
214人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.7 逻辑清晰
  • 通过接口class获取实例,通过配置文件。通过家口与method获取对应配置文件的信息。 通过配置文件的信息获取sql语句类型。通过sql类型调用sqlsession对应的增删改查方法。
    查看全部
  • mybatis代理
    查看全部
  • 要解决的几个问题
    查看全部
  • 动态代理,没有实现类的方法也能执行
    查看全部
  • 1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能。 设想:使用数据库连接池管理数据库连接。 2、将sql语句硬编码到java代码中,如果sql 语句修改,需要重新编译java代码,不利于系统维护。 设想:将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译。 3、向preparedStatement中设置参数,对占位符号位置和设置参数值,硬编码在java代码中,不利于系统维护。 设想:将sql语句及占位符号和参数全部配置在xml中。 4、从resutSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,,不利于系统维护。 设想:将查询的结果集,自动映射成java对象。
    查看全部
  • Mybatis在案例中呈现出的特点: 1.SQL语句与代码分离 优点:便于管理和维护 缺点:不便于调试,需要借助日志工具获得信息 2.用标签控制动态SQL的拼接 优点:用标签代替编写逻辑代码 缺点:拼接复杂SQL语句时,没有代码灵活,比较复杂 3. 结果集与Java对象的自动映射 优点:保证名称相同即可自动映射 缺点:对开发人员所写的SQL依赖性很强 4. 编写原生SQL 优点:接近JDBC,很灵活 劣势:对SQL语句依赖程序很高;半自动;数据库移植不方便
    查看全部
  • Mybatis需要借助log4j进行对代码进行调试
    查看全部
  • 重复加载 -----> 单例模式
    查看全部
  • 加载时机 ----> 监听器
    查看全部
  • 根据字符串动态加载class
    查看全部
  • @CommandContent.xml <insert id="insertOne" parameterType="com.imooc.bean.CommandContent"> insert into COMMAND_CONTENT(CONTENT,COMMAND_ID) values(#{content},#{commandId}) </insert> <insert id="insertBatch" parameterType="java.util.List"> insert into commandcontent(content,commandId) values <foreach collection="list" item="item" separator=","> (#{item.content},#{item.commandId}) </foreach> </insert> @ICommandContent.java public interface ICommandContent { /** * 单条新增 */ public void insertOne(CommandContent content); /** * 批量新增 */ void insertBatch(List<CommandContent> contentList); } Ps1:注意:批量新增不同的SQL有不同的语法。(这里针对MySQL) Ps2:separator=",":会加在中间,不会加在头尾。
    查看全部
    0 采集 收起 来源:实现批量新增

    2018-03-22

  • 拦截器实现3 过滤客户 ----- id.matches(".+ByPage$") 获取购票信息 ----- page 购票 ----- 原始sql-->pageSql 送票 ----- return invocation.proceed();
    查看全部
    0 采集 收起 来源:拦截器总结

    2018-03-22

  • 拦截器实现2
    查看全部
    0 采集 收起 来源:拦截器总结

    2017-05-20

  • 拦截器实现1
    查看全部
    0 采集 收起 来源:拦截器总结

    2017-05-20

  • @Intercepts({@Signature(type=StatementHandler.class,method="prepare",args={Connection.class})}) 以上源码中注释@Intercepts会报错,方法"prepare"有两个参数,需要在args中添加Integer.class: @Intercepts({@Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class, Integer.class})})
    查看全部

举报

0/150
提交
取消
课程须知
本课程的前导课程为《通过自动回复机器人学 Mybatis ---基础版》, 课程中案例的关联性极强,所以学习本课程唯一的条件就是学习过《通过自动回复机器人学 Mybatis ---基础版》
老师告诉你能学到什么?
1、 Mybatis 的接口式编程 2、实现分页查询 3、通过拦截器实现分页共通来了解 Mybatis 的拦截器 4、通过如何用数组做参数来了解 Mybatis 对类型的处理 5、 Mybatis 如何实现 jdbc 的 addBatch ,即批量插入

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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