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

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

难度中级
时长 2小时43分
学习人数
综合评分9.77
214人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.7 逻辑清晰
  • /*动态代理,接口没有实现类.Mybatis为接口提供实现类,即用Proxy.newProxyInstance()创建代理实例,返回类型为Object,利用泛型强制转换*/ IMessage imessage = sqlSession.getMapper(IMessage.class); /*代理实例调用接口方法时,并不会执行,而是触发 MapperProxy.invoke(),其中包含sqlSession.selectList(namespace.id,parameter)*/ /*至于为什么会包含,因为接口方法与(加载Mybatis的)配置信息对应得上,即 接口名.方法=namespace.id*/ messageList = imessage.queryMessageList(message);
    查看全部
  • Mybatis中的接口试编程即mybatis找到一个接口作为该表操作的代言:1、namespace 2、与sql关联的id3、传入的参数4、返回值 作用:1、规范mybatis中访问配置文/2、遇到spring时{1、总配置文件中的数据源配置托管给spring管理2、db层(getsqlsession)会消失3、组织对象代码移交给service层(即传入的参数)4、sql执行代码由spring实现5、dao层就剩接口文件(小三上位)与配置文件}
    查看全部
    0 采集 收起 来源:接口式编程

    2017-11-13

  • 自定义标签 封装前台jsp分页代码
    查看全部
  • sql语句与代码分离,优点:便于管理和维护;缺点:不便于调试,需要借助日志工具获得信息
    查看全部
  • jdbc中如何批量新增插入语句 1、在循环末尾加上statement.addBatch(); 2、结束后再执行statement.executeBatch();
    查看全部
    0 采集 收起 来源:实现批量新增

    2017-10-25

  • 通过invoke方法执行sql语句 怎么知道要执行的sql语句是怎么样的
    查看全部
  • 代理?
    查看全部
  • 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语句依赖程序很高;半自动;数据库移植不方便
    查看全部
  • 针对加载过的配置文件会重复加载,应该使用单例模式
    查看全部
  • 解决配置文件加载时机问题,可以写一个监听器
    查看全部
  • 相关代码——(上): @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); }
    查看全部
    0 采集 收起 来源:实现批量新增

    2018-03-22

  • 相关代码——(中): @CommandContentDao.java /** * 和command_content表相关的数据库操作 */ public class CommandContentDao { //使用jdbc批量增加 public void insertBatchByJdbc(List<CommandContent> contetnList){ try { Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/micro_message?characterEncoding=utf-8", "root", "root"); String insertSql="insert into command_content(content,command_id) values(?,?)"; PreparedStatement ps = conn.prepareStatement(insertSql); for(CommandContent c:contetnList){ ps.setString(1,c.getContent()); ps.setInt(2, c.getCommandId()); // ps.executeUpdate();//方法一:不推荐 ps.addBatch();//方法二 } ps.executeBatch();//方法二 } catch (Exception e) { e.printStackTrace(); } } }
    查看全部
    0 采集 收起 来源:实现批量新增

    2018-03-22

  • 相关代码——(下): @CommandContentDao.java /** * 和command_content表相关的数据库操作 */ public class CommandContentDao { //使用mybatics批量新增 public void insertBatch(List<CommandContent> contentlList){ DBAccess dbAccess=new DBAccess(); try { SqlSession sqlSession=dbAccess.getSqlSession(); //通过sqlSession执行SQL语言 ICommandContent commandContent = sqlSession.getMapper(ICommandContent.class); commandContent.insertBatch(contentlList); sqlSession.commit(); } catch (IOException e) { e.printStackTrace(); } } }
    查看全部
    0 采集 收起 来源:实现批量新增

    2018-03-22

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

    2018-03-22

举报

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

微信扫码,参与3人拼团

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

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