当前位置: 首页 > 工具软件 > FrameWorks > 使用案例 >

FrameWorks-框架

邵崇凛
2023-12-01

概念

作用		
	[1]抽取公共问题
	[2]开发专注业务
	[3]降低维护成本
	[4]层级逻辑复用
	
分层
	[]表现层		用户展示	SpringMVC、Structs
	[]服务层		业务逻辑	Spring
	[]持久层		数据访问	Hibernate、Mybatis、SpringData JPA

JDBC

区别		
	[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方法
组成
	[1]配置文件			管理数据源、事务
	[2]映射文件			管理SQL、JavaBean、映射输入参数、输出参数
功能		
	[1]SQL动态生成		配置文件标签拼接	
	[2]SQL位置分离		配置文件与代码分离
	[3]SQL集中管理		SQLMapper
	[4]缓存功能			一级缓存sqlSession级别、二级缓存mapper级别
	[5]延迟加载
说明		资源文件mapper.xml,修改后无须重新编译
 类似资料: