码迷,mamicode.com
首页 > 其他好文 > 详细

事务,mybatis

时间:2019-03-07 19:26:27      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:提高   pre   mysq   环境   框架   ble   acl   lse   llb   

数据库事务:一件完整的事情, 要么全部成功,要么就全部失败

金典案例:转账

A给B转账:100

     A:-100

     B:+100

如何开启事务:

Start transaction;

     之前的转账操作(如果在转账过程中出现异常:rollback)

Commit;

 

事务的特性(ACID):

原子性:要么全部成功 要么全部失败 不可以分割

一致性:事务前后,所有的状态都要保持一致

隔离性:一个事务最好不要受到其他事务的影响

持久性:将提交或者回滚的事务 存储到数据库中

 

不考虑隔离性:

脏读:读取到另一个事务中未提交的数据

不可重复读:在同一个事务中,两次查询结果不一样(update)

虚读(幻读):在同一个事务中,两次查询结果不一样(insert)

 

隔离级别:

1)read uncommitted : 读取尚未提交的数据 :哪个问题都不能解决

2)read committed:读取已经提交的数据 :可以解决脏读 ---- oracle默认的

3)repeatable read:重读读取:可以解决脏读 和 不可重复读 ---mysql默认的

4)serializable:串行化:可以解决 脏读 不可重复读 和 虚读---相当于锁表

 

 

查看数据库的隔离级别:

    Select @@tx_isolation;

    Mysql 默认的隔离级别:repeatable-read;

    Oracle : read committed

 

  设置mysql的隔离级别:set session transaction isolation level 设置事务隔离级别


框架:我们可以简单的理解成为一个半成品 它提供了一套解决方案

框架的好处:
框架封装了细节,提高了开发效率,减轻了开发难度。

mybatis框架:
mybatis是一个持久层框架,用java语言编写的。
封装了jdbc。使开发者只需要注意sql语句本身,不用去纠结jdbc的其他细节
使用了ORM思想: 对象关系映射
O:Object
R:Relational
M:Mapping


mybatis环境搭建:
1、创建maven工程
2、创建实体类和UserDao接口
3、创建mybatis的核心配置文件
SqlMapConfig.xml
4、创建对象映射文件:
UserDao.xml
注意:UserDao.xml 需要和UserDao接口 名字一样 并且 路径一样

环境搭建注意点:
1、UserDao.xml 和 UserDao.java 名字和路径需要保持一致
2、映射配置文件的的mapper标签中的 namespace的属性取值必须是dao接口的全限定名
3、映射配置文件的操作配置(select) ,id属性的取值必须是dao接口中的方法名


自定义mybatis:

1、分析出需要的对象
class Resources
class SqlSessionFactoryBuilder
interface SqlSessionFactory
interface SqlSession

事务,mybatis

标签:提高   pre   mysq   环境   框架   ble   acl   lse   llb   

原文地址:https://www.cnblogs.com/lyhhary/p/10491606.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!