Mybatis3

连接池及事务控制

动态SQL

多表操作

JNDI

1、mybatis中的连接池以及事务控制			原理部分了解,应用部分会用
	mybatis中连接池使用及分析
	mybatis事务控制的分析
2、mybatis基于XML配置的动态SQL语句使用		会用即可
	mappers配置文件中的几个标签:
		<if>
		<where>
		<foreach>
		<sql>
3、mybatis中的多表操作				掌握应用
	一对多
	一对一(?)
	多对多
--------------------------------------------------------------------------------
1、连接池:
	我们在实际开发中都会使用连接池。
	因为它可以减少我们获取连接所消耗的时间。
2、mybatis中的连接池
	mybatis连接池提供了3种方式的配置:
		配置的位置:
			主配置文件SqlMapConfig.xml中的dataSource标签,type属性就是表示采用何种连接池方式。
		type属性的取值:
			POOLED	 采用传统的javax.sql.DataSource规范中的连接池,mybatis中有针对规范的实现
			UNPOOLED 采用传统的获取连接的方式,虽然也实现Javax.sql.DataSource接口,但是并没有使用池的思想。
			JNDI	 采用服务器提供的JNDI技术实现,来获取DataSource对象,不同的服务器所能拿到DataSource是不一样。
				 注意:如果不是web或者maven的war工程,是不能使用的。
				 我们课程中使用的是tomcat服务器,采用连接池就是dbcp连接池。
3、mybatis中的事务
	什么是事务
	事务的四大特性ACID
	不考虑隔离性会产生的3个问题
	解决办法:四种隔离级别

	它是通过sqlsession对象的commit方法和rollback方法实现事务的提交和回滚
4、mybatis中的多表查询
	表之间的关系有几种:
		一对多
		多对一
		一对一
		多对多
	举例:
		用户和订单就是一对多
		订单和用户就是多对一
			一个用户可以下多个订单
			多个订单属于同一个用户

		人和身份证号就是一对一
			一个人只能有一个身份证号
			一个身份证号只能属于一个人

		老师和学生之间就是多对多
			一个学生可以被多个老师教过
			一个老师可以交多个学生
	特例:
		如果拿出每一个订单,他都只能属于一个用户。
		所以Mybatis就把多对一看成了一对一。
	
	mybatis中的多表查询:
		示例:用户和账户
			一个用户可以有多个账户
			一个账户只能属于一个用户(多个账户也可以属于同一个用户)
		步骤:
			1、建立两张表:用户表,账户表
				让用户表和账户表之间具备一对多的关系:需要使用外键在账户表中添加
			2、建立两个实体类:用户实体类和账户实体类
				让用户和账户的实体类能体现出来一对多的关系
			3、建立两个配置文件
				用户的配置文件
				账户的配置文件
			4、实现配置:
				当我们查询用户时,可以同时得到用户下所包含的账户信息
				当我们查询账户时,可以同时得到账户的所属用户信息

		示例:用户和角色
			一个用户可以有多个角色
			一个角色可以赋予多个用户
		步骤:
			1、建立两张表:用户表,角色表
				让用户表和角色表具有多对多的关系。需要使用中间表,中间表中包含各自的主键,在中间表中是外键。
			2、建立两个实体类:用户实体类和角色实体类
				让用户和角色的实体类能体现出来多对多的关系
				各自包含对方一个集合引用
			3、建立两个配置文件
				用户的配置文件
				角色的配置文件
			4、实现配置:
				当我们查询用户时,可以同时得到用户所包含的角色信息
				当我们查询角色时,可以同时得到角色的所赋予的用户信息

c9d3766b934f7278fffaf609671ea2c15aa.jpg50380eaeec8c1cb15f665698aba4610ec98.jpg6bd685071fe1e20d576bedc16cbf0663d6c.jpg860e1860d3f4177cb51f32f9950376d7b9c.jpgdc9a4c074391031211978404b7deef1f164.jpg16f90a77b523448532e4e62606425dda0f1.jpg600a544656ccbc988b8ddc0f0779ece7cbf.jpgf163a22d59a9a5b6f5bf7c3b654924fb6a6.jpg9e957fd8b0c2f32d715cc4d5399ec3f7646.jpge8daaabbab4092e5ad703d3dc6d620fa1b5.jpgadae49978432c2bf45aebdf0687b721b58b.jpg05e546237f9f5c25fad336e453f9653acf7.jpg9bec8cf4ffbb7f27227a2b6ff62ab937539.jpgd651afe1e6dd02b79cc34ed7460dff6b43e.jpg53c29def7730f1fbb736f3cf78d5b297b01.jpgcfc31a627806900cbf7809e00af6dd762e0.jpg58db96188de2187cf1b98200f18d4b9bc0f.jpgb548e4c58812d9ab68d4a84d917e9a8f422.jpg7fdb1bd0082e013ab8b80724772d45ea90b.jpg0aeab5cc35f94a6dc50fd5aba60797b5d9f.jpg54283b9460c43293a34110f0b0e6602c7c7.jpg8ee1bfbaaff62d868218768c82021688327.jpgf66f445b0467afac6ffb7fb9e2eeaef7bfd.jpg27787c179d3ccb8fe368238aaed0de0699f.jpg29d053b2cde35d26f0f5715b32b86d734de.jpg0b73b692730882b6c5ed51eeeb78f42aa65.jpg8da75f535c9420deb11117a287826df4940.jpg8355f5ba5d9888d75f489766fd3ef197245.jpg4b6ab83bbde501b65325571f60c5e1106ef.jpg

转载于:https://my.oschina.net/u/3668429/blog/3044225

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值