FrameWorks-框架

概念

作用		
	[1]抽取公共问题
	[2]开发专注业务
	[3]降低维护成本
	[4]层级逻辑复用
	
分层
	数据访问层
	业务逻辑层
	界面层			
	
分类
	[1]Activiti			工作流
	[2]Structs			持久层
	[3]Hibernate		持久层
	[4]Mybatis			持久层
	[5]SpringData		持久层
	[6]Spring			服务层
	[7]SpringMVC		表现层

JDBC

定义		Java DataBase Connectivity
属性		SQL执行API
流程		
	[1]加载驱动		Class.forName("com.mysql.jdbc.Driver").newInstance();
	[2]获取DB连接	Connection connection = DriverManger.getConnection( url,username,password);
	[3]执行SQL		PrepareStatement ps = connection.prepareStatement(SQL);
					ps.execute();
	[4]处理结果集		ResultSet rs = ps.getResultSet();
	[5]关闭DB连接
整合-c3p0
	[1]获取数据源		ComboPooledDataSource();	[ c3p0-config.xml ]
	[2]获取DB连接
	[3]执行SQL
	[4]处理结果集
	[5]关闭连接
安全_防止SQL注入		PrepareStatement
区别		
	[1]直接编译Statement				SQL使用参数		单次连接有效		每次编译
	[2]预先编译PreparedStatement		SQL使用占位符		整个DB有效		一次编译,每次传参	

DBUtils

属性		JDBC访问框架_轻量级别
条件		JavaBean属性与DB字段必须一致
组成
	[一]QueryRunner
	[二]ResultSetHandler		
		[1]ArrayHandler		结果集第一行,转换数组
		[2]ArrayListHandler	结果集每一行,转换数组,存放List
		[3]BeanHandler		结果集第一行,封装JavaBean
		[4]BeanListHandler	结果集每一行,封装JavaBean,存放List
		[5]ScalarrHandler	单行单列的结果集
	[三]c3p0
		[1]连接数据源			默认扫描 classpath目录的"c3p0-config.xml"
			private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
		[2]创建查询实例		封装获取数据源、预编译PreparedStatement、处理结果集
			QueryRunner queryRunner = new QueryRunner( C3P0Util.getDataSource() );
		[3]执行查询			封装释放资源 [ 放回连接池与DB的连接 ]
			queryRunner.query( SQL,new ScalarHandler() ) ;
		[4]执行操作
			queryRunner.update( SQL,, );
安全_防止SQL注入		PrepareStatement		
c3p0-config.xml	
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
	<default-config>
		<property name="driverClass">com.mysql.jdbc.Driver</property>
		<property name="jdbcUrl">jdbc:mysql://localhost:3306/mhg</property>
		<property name="user">root</property>
	   	<property name="password">k9718</property>
	    <property name="initialPoolSize">10</property>
		<property name="maxIdleTime">30</property>
		<property name="maxPoolSize">100</property>
		<property name="minPoolSize">10</property>
		<property name="maxStatements">200</property>
	</default-config>
</c3p0-config>

Hibernate

属性		全自动ORMORM数据访问层框架
原理		解析xml,反射调用JavaBean方法
组成
	[1]*.java			映射类		描述数据库表结构				
	[2]*.hbm.xml		映射文件		描述数据库表与映射类的关系		属性:字段;类:表;实例:记录
	[3]*.cfg			配置文件		数据库连接信息
	[4]*.xml			配置文件		数据库连接信息	
	[5]*.properties		配置文件		数据库连接信息

MyBatis

属性		半自动ORM数据访问层框架_轻量级别
原理		解析xml,反射调用JavaBean方法
条件		JavaBean属性与DB字段不必一致,可以设置别名
内核		JDBC
组成
	[1]配置文件			管理数据源、事务
	[2]映射文件			管理SQL、JavaBean、映射输入参数、输出参数
功能		
	[1]SQL动态生成		配置文件标签拼接	
	[2]SQL位置分离		配置文件与代码分离
	[3]SQL集中管理		SQLMapper
	[4]缓存功能			一级缓存sqlSession级别、二级缓存mapper级别
	[5]延迟加载
安全_防止SQL注入		#{}没有注入问题,${}存在注入问题
说明		资源文件mapper.xml,修改后无须重新编译

Spring

SpringMVC

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191012145358840.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RkaG1iYmtseWsyMDE4,size_16,color_FFFFFF,t_70)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章