事务:其实就是执行的一组sql语句的操作。
事务的四大特性:
1.原子性:最小的单位,不可以被分割(A)
2.一致性:(要么是执行前的结果,要么是执行后的结果)
3.隔离性:各个事务都互不干扰
4.持久性:
指一个事务一旦被提交,它对数据库的改变就是永久性的。
在多线程中处理数据要实现mysql的数据隔离:
出现的问题会有
1.脏数据
也就是读取到另一个事务未提交的数据
2.不可重读的数据
也就是一个事务读取同一行数据,产生的结果不一致。
3.虚读/幻读
在一个事务里面读取到了另一个事务的插入的数据,导致前后读取的结果不一致。
事务的隔离级别
设置事务的隔离级别能够防止以上情况出现。数据库共定义了4种隔离级。
反射
通过反射对Student类进行操作
步骤:
1.把.java文件转化成.class文件
第一种方法
通过完全的包名和类名来实现
Class c = Class.forName(“com.offcn.entity.Student”);
2.实例化对象
Student student=null;
3.得到无参构造函数
Constructor constructor=c.getConstructor(); //获取Student中公有无参构造器的对象
student = (Student)constructor.newInstance(null); //通过构造器反射对象调用构造器