mybatis中的连接池
mybatis提供了3种方式的配置。
配置的位置:主文件SqlMapConfig.xml中的dataSource标签,type属性就是表示采用何种连接池方式。
type属性的取值:
①POOLED:采用传统的javax.sql.DataSource规范中的连接池,mybatis中有针对规范的实现。
②UNPOOLED:采用传统的获取连接的方式,虽然也实现了javax.sql.DataSource接口,但是没有使用池的思想。
③JNDI:采用服务器提供的JNDI技术实现,来获取DataSource对象,不同的服务器能拿到的DataSource是不一样的,如果不是web或者maven的war工程,是不能使用的。
mybatis中的事务
事务的四大特性ACID
不考虑隔离性会产生的3个问题,解决办法:四种隔离级别
它是通过SqlSession对象的commit方法和rollback方法实现事务的提交和回滚
mybatis中的多表查询
表之间的关系:
①一对多
②多对一
③一对一
④多对多
示例
用户和账户:
一个用户可以有多个账户
一个账户只能属于一个用户
步骤
①建立两张表:用户表、账户表
让用户表和账户表之间具备一对多的关系:需要使用外键在账户表中添加
②建立两个实体类:用户实体类和账户实体类
让用户和账户的实体类出现一对多的关系
③建立两个配置文件:用户配置文件和账户配置文件
④实现配置
当我们查询用户时,可以同时得到用户下所包含的账户信息
当我们查询账户时,可以同时得到账户的所属用户信息
示例
用户和角色
一个用户可以有多个角色
一个角色可以赋予多个用户
步骤
①建立两张表:用户表、角色表
让用户表和角色表之间具备多对多的关系:需要使用中间表,中间表中包含各自的主键,在中间表中是外键。
②建立两个实体类:用户实体类和角色实体类
让用户和账户的实体类出现多对多的关系
各自包含对方一个集合引用
③建立两个配置文件:用户配置文件和角色配置文件
④实现配置
当我们查询用户时,可以同时得到用户下所包含的角色信息
当我们查询角色时,可以同时得到角色的所赋予的用户信息