mappper 配置文件  头文件:

1.   <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd">  之前三者写的不一致,有什么config的导致,错误

  2.  <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">, 之前文件中有这个部分,配置文件中

  namespace 一直在报错,然后查询资料显示:在没有网络的时候需要将上面红色字体删掉就解决,但不知道到底是为什么?

mybatis 执行流程: 

  public static void main(String[] args){
  //读取配置文件
  System.out.println("hello");
  String resource = "mybatis_config.xml";
  InputStream inputstream;
  try {
  inputstream = Resources.getResourceAsStream(resource);
  //根据配置文件构建sqlsessionfactory
  SqlSessionFactory sqlsessionfactory = new SqlSessionFactoryBuilder().build(inputstream);
  //sqlsessionfactory 构建 sqlsession
  SqlSession sqlsession = sqlsessionfactory.openSession();
  //查询数据,返回结果
  car result = sqlsession.selectOne("config.mapperRequest.findCarById", 1);
  result.show();
  } catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }
  }

在执行上面红色语句的时候报错,原因是绿色字体写错,selectOneO 方法 的第 一个参数表示映射 SQL 的标识字符串,它由 CustomerMapper .x ml <mapper> 元素的namespace 属性值+<select> 元素的 id 属性值组成;第 个参数表示查询所需要的参数,

mybatis 基本执行过程:

  public class mybatis_test {
  @Test
  public static void main(String[] args){
  //读取配置文件
  String resource = "mybatis_config.xml";
  InputStream inputstream;
  try {
  inputstream = Resources.getResourceAsStream(resource);
  //根据配置文件构建sqlsessionfactory
  SqlSessionFactory sqlsessionfactory = new SqlSessionFactoryBuilder().build(inputstream);
  //sqlsessionfactory 构建 sqlsession
  SqlSession sqlsession = sqlsessionfactory.openSession();
  //查询数据,返回结果
  int row = sqlsession.delete("config.mapperRequest.deleteCar", 7);
  if(row > 0) {
  System.out.println("删除用户成功");
  }

  //上面执行的操作必须在提交sqlsession提交之后才有效
  sqlsession.commit();
  sqlsession.close();
  } catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }
  }
  }

执行完sqlsession 之后必须之前 commit close ,否则数据库的执行动作其实都是没有执行的,就像是回滚了

            

mybatis 执行流程以及初用错误总结的更多相关文章

  1. Mybatis执行流程浅析(附深度文章推荐&面试题集锦)

    首先推荐一个简单的Mybatis原理视频教程,可以作为入门教程进行学习:点我 (该教程讲解的是如何手写简易版Mybatis) 执行流程的理解 理解Mybatis的简单流程后自己手写一个,可以解决百分之 ...

  2. MyBatis执行流程的各阶段介绍

    目录 一.mybatis极简示例 1.1 创建mybatis配置文件 1.2 创建数据库表 1.3 创建javabean 1.4 创建mapper映射文件 1.5 运行测试 二.mybatis的几大“ ...

  3. Mybatis执行流程学习之手写mybatis雏形

    Mybatis是目前开发中最常用的一款基于ORM思想的半自动持久层框架,平时我们都仅仅停留在使用阶段,对mybatis是怎样运行的并不清楚,今天抽空找到一些资料自学了一波,自己写了一个mybatis的 ...

  4. mybatis执行流程

    mybatis 简介 开源的持久层框架:代码简洁,写sql,性能还可以.容易掌握 执行图 文字说明 先创建核心配置文件(sqlMapConfig.xml) 再创建映射文件(可以有多个 ~ 通常有多少张 ...

  5. Mybatis执行流程浅析

    从三个主要的对象SqlSessionFactoryBuilder->SqlSessionFactory->SqlSession说起 inputStream = Resources.getR ...

  6. 生命周期和作用域 & mybatis执行流程

    流程 sqlSessionFactory 实例化后  --> transactional事务管理-->创建executor执行器-->创建SqlSession-->实现增删改查 ...

  7. Mybatis 系列10-结合源码解析mybatis 的执行流程

    [Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...

  8. Mybatis功能架构及执行流程

    原文地址:http://blog.51cto.com/12222886/2052647 一.功能架构设计 功能架构讲解: 我们把Mybatis的功能架构分为三层: (1) API接口层:提供给外部使用 ...

  9. mybatis执行过程及经典面试题

    Mybatis执行流程 mybatis中xml解析是通过SqlSessionFactoryBuilder.build()方法. 初始化mybatis(解析xml文件构建成Configuration对象 ...

随机推荐

  1. TCP/IP||ICMP

    1.概述 ICMP为IP组成部分之一,传递差错报文并返回用户进程,在IP数据报内部被传输 类型字段可以有15个不同的值,以描述特定类型的ICMP报文,检验和字段覆盖整个ICMP报文. 2.报文类型 在 ...

  2. 【题解】CF894E Ralph and Mushrooms (缩点)

    [题解]CF894E Ralph and Mushrooms (缩点) 这是紫?给个解方程算法 考虑一条边若可以重复遍历说明一定有环,有环的话一定会把环上的蘑菇榨干,考虑一条边从全部到榨干的贡献是多少 ...

  3. 洛谷$P2055\ [ZJOI2009]$ 假期的宿舍 最大流

    正解:最大流 解题报告: 传送门$QwQ$ 这种一看就很网络流鸭,直接说咋建图趴. 考虑把在校的人拆成人和床.$S$连向所有不回家的人,所有床连向$T$,认识的人之间人向床连边,跑个最大流就成. $o ...

  4. 一次 kafka 消息堆积问题排查

    收到某业务组的小伙伴发来的反馈,具体问题如下: 项目中某 kafka 消息组消费特别慢,有时候在 kafka-manager 控制台看到有些消费者已被踢出消费组. 从服务端日志看到如下信息: 该消费组 ...

  5. 14.python案例:爬取电影天堂中所有电视剧信息

    1.python案例:爬取电影天堂中所有电视剧信息 #!/usr/bin/env python3 # -*- coding: UTF-8 -*- '''======================== ...

  6. Redis 千万不要乱用KEYS命令,不然会挨打的

    Redis现如今使用的场景越来越多?如何批量删除key呢? 有人说用KEYS命令,刚开始学Redis的时候就是用这个命令列出库中键. KEYS命令要谨慎使用. 为何?客观别急,我们先一步步来看. KE ...

  7. java8中的stream流遍历

    比较for循环.迭代器.java8Stream流遍历的不同 package cnom.test.testUtils; import java.io.Serializable; import java. ...

  8. Spring Boot 集成 Seata 解决分布式事务问题

    seata 简介 Seata 是 阿里巴巴2019年开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务.在 Seata 开源之前,Seata 对应的内部版本在阿里内部一 ...

  9. TensorFlow——学习率衰减的使用方法

    在TensorFlow的优化器中, 都要设置学习率.学习率是在精度和速度之间找到一个平衡: 学习率太大,训练的速度会有提升,但是结果的精度不够,而且还可能导致不能收敛出现震荡的情况. 学习率太小,精度 ...

  10. RedisCluster linux下批量删除 key

    Redis Cluster linux下批量删除键 说明 使用时不支持传入参数 , 如 redis_batch_del.sh , 因为在linux下 会自动将 * 解析为当前目录下所有文件名, 目前还 ...