Mybatis学习--3.Mybatis事务管理机制
Mybatis事务管理机制
我们在mybatis入门程序中可以发现,在编写完sql语句后,我们必须手动提交事务,否则数据库表并不会更新该数据
在mybatis-config.xml文件中可通过如下配置进行事务管理
<transactionManager type="JDBC"/>
123456789101112131415161718192021222324252627282930313233343536373839404142434445* type属性有两种value * JDBC(jdbc) * MANAGED(managed)* 当value是jdbc时,表示MyBatis框架自己管理事务,底层采用的是原生的jdbc机制:在执行sql语句之前开启事务:conn.setAutoCommit("false");在执行sqlSession.commit();时底层执行conn.commit(); * ```java SqlSession sqlSession = sqlSessionFactory.o ...
Mybatis学习--2.入门程序
步骤
设置打包方式:jar
引入依赖,使用maven引入MyBatis框架(其实就是jar包)和数据库驱动jar包(jdbc)
创建核心配置文件,复制配置信息到该文件,并且修改连接数据库的信息
创建XxxMapper.xml文件。并在其中编写SQL语句。每条SQL语句都有一个唯一标识符id=”…”
在mybatis-config.xml的mappers中指定XxxMappser.xml的路径。
123<mapper resource="carMapper.xml"/>//从类路径中加载资源<!--该mapper还有另外一个属性:url。该属性值有固定写法:url="file:/// + 绝对路径"但不建议使用该方法,因为移植性太差。当从windows系统移植到mac或linux系统时,后两者的系统中没有磁盘的概念,那么这种写法就会报错-->
该resource属性会自动从项目根路径下开始查找资源。因为我们将carMapper.xml文件放在resources文件中,等同于放到了根路径下
编写MyBat ...
Mybatis学习--1.概述
MyBatis概述框架
MyBatis是项目开发中比较常用的框架之一
所谓框架就是对通用代码进行封装,其提供了很多类和接口。我们在开发项目时,可以直接使用这些类和接口(框架引入),从而大大提高开发效率
框架一般都以jar包的形式存在,jar包中包含一些class文件及配置文件
MyBatis位于三层架构中的持久层,内部封装了jdbc,用于操作数据库
其他常用的持久层框架
Hibernate
jOOQ
Guzz
….
JDBC的不足
sql语句写在java代码中,不利于后期扩展。比如某个表的字段发生了改变,我们需要修改项目源代码,这违反了OPC原则
有很多sql语句是重复的。比如说插入数据以及查询数据。我们需要不断通过PrepareStatement进行数据插入,以及遍历ResultSet获得查询结果,一旦表的字段非常多,这些sql语句将是多而重复的,开发效率低。
了解MyBatis
MyBatis本质上是对Jdbc的封装,通过MyBatis完成CRUD操作
MyBatis位于三层架构中的持久层,属于持久层框架
MyBatis提供的框架有SQL Maps和DAO
ORM思想
...
