mybatis 执行流程以及初用错误总结
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 执行流程以及初用错误总结的更多相关文章
- Mybatis执行流程浅析(附深度文章推荐&面试题集锦)
首先推荐一个简单的Mybatis原理视频教程,可以作为入门教程进行学习:点我 (该教程讲解的是如何手写简易版Mybatis) 执行流程的理解 理解Mybatis的简单流程后自己手写一个,可以解决百分之 ...
- MyBatis执行流程的各阶段介绍
目录 一.mybatis极简示例 1.1 创建mybatis配置文件 1.2 创建数据库表 1.3 创建javabean 1.4 创建mapper映射文件 1.5 运行测试 二.mybatis的几大“ ...
- Mybatis执行流程学习之手写mybatis雏形
Mybatis是目前开发中最常用的一款基于ORM思想的半自动持久层框架,平时我们都仅仅停留在使用阶段,对mybatis是怎样运行的并不清楚,今天抽空找到一些资料自学了一波,自己写了一个mybatis的 ...
- mybatis执行流程
mybatis 简介 开源的持久层框架:代码简洁,写sql,性能还可以.容易掌握 执行图 文字说明 先创建核心配置文件(sqlMapConfig.xml) 再创建映射文件(可以有多个 ~ 通常有多少张 ...
- Mybatis执行流程浅析
从三个主要的对象SqlSessionFactoryBuilder->SqlSessionFactory->SqlSession说起 inputStream = Resources.getR ...
- 生命周期和作用域 & mybatis执行流程
流程 sqlSessionFactory 实例化后 --> transactional事务管理-->创建executor执行器-->创建SqlSession-->实现增删改查 ...
- Mybatis 系列10-结合源码解析mybatis 的执行流程
[Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...
- Mybatis功能架构及执行流程
原文地址:http://blog.51cto.com/12222886/2052647 一.功能架构设计 功能架构讲解: 我们把Mybatis的功能架构分为三层: (1) API接口层:提供给外部使用 ...
- mybatis执行过程及经典面试题
Mybatis执行流程 mybatis中xml解析是通过SqlSessionFactoryBuilder.build()方法. 初始化mybatis(解析xml文件构建成Configuration对象 ...
随机推荐
- 分布式大牛详解Zookeeper底层原理
很多学员都在反馈,说zk很难学,学的不是很明白,在这里,我继续带着大家详解一遍Zookeeper 首先zk是什么呢首先肯定是一个个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用 ...
- 使用 AT 指令进行 Socket 通信
BC26 支持使用 Socket 进行 TCP 和 UDP 协议通信,这两个协议也是 BC26 支持的众多通信协议的基础.本文讲解如何使用这两个协议与服务器端进行通信.在学习这篇文章前,请首先使用AT ...
- 什么?我往Redis写的数据怎么没了?
大概是因为int没有因为change方法而改变原值,所以就说它传过去的是自身的值,因而叫值传递:User对象经过change方法后,对象的数据变了,就认为是因为实参和形参指向的是同一片内存空间,内存空 ...
- 基于 Apache APISIX 的下一代微服务架构
2019 年 12 月 14 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 广州站活动,Apache APISIX PPMC 温铭做了题为 ...
- unity3D 自定义公告牌
前言 有时候我们希望公告牌跟随镜头旋转永远平行面向屏幕,同时跟随镜头缩放缩放大小不变(镜头远离物体,正常物体视觉效果变小,但公告牌视觉大小比例不变),或者跟随镜头缩放变化,本文记录C#脚本的两种实现方 ...
- __str__、__repr__和__format__
obj.__ str __ ()是面向用户的,该方法将实例转换为一个字符 obj.__ repr __ ()面向程序员,该方法返回一个实例的代码表示形式,通常用来重新构造这个实例,repr()函数返回 ...
- ELK日志分析系统搭建
之前一段时间由于版本迭代任务紧,组内代码质量不尽如人意.接二连三的被测试提醒后台错误之后, 我们决定搭建一个后台日志分析系统, 经过几个方案比较后,选择的相对更简单的ELK方案. ELK 是Elast ...
- DFT与IDFT
[转]https://blog.csdn.net/mingzhuo_126/article/details/88044390 二.编程实现考滤到DFT和IDFT算法过程中有部分相似,可以把它们合成到一 ...
- 【转】VS2017缺少文件
在VS工程中,添加c/c++工程中外部头文件及库的基本步骤: 1.添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录. 2.添加文件引用 ...
- 【Think In Java笔记】第1章 对象导论
1. 对象导论 OOP 面向对象编程 C.Basic等语言所在的抽象仍要求在解决问题时基于计算机的解决,而不是基于所解决问题的结构来考虑. 要建立起问题空间的元素和解空间的对象之间一一映射的关系 万物 ...