总结

一、ORM简介

1、ORMObject Relation Mapping

ObjectJavaBean对象

Relation:关系型数据库

Mapping:映射(存在着对应关系)

2、ORM框架:HibernateMyBatisiBatis)、JPAJava Persitence APIjava持久化框架,规范)

3、简单的JDBC框架:这些框架只是对JDBC的操作进行了简单的封装。比如DBUtilsSpring JDBCTemplate

二、DBUtils框架的使用

1、QueryRunner

int[] batch(String sql, Object[][] params):执行批处理

sql:执行的sql语句

params:二维数组。高维表示执行的语句的条数;地维表示每条语句需要的参数

返回:每条语句影响到的记录行数

<T> T query(String sql, ResultSetHandler<T> rsh)

适合sql中没有参数的查询,把结果封装到JavaBean中

<T> T query(String sql, ResultSetHandler<T> rsh, Object... params)

适合sql中有参数的查询,把结果封装到JavaBean中

int update(String sql)

执行insert update delete语句的,没有参数的情况

int update(String sql, Object... params)

执行insert update delete语句的,有参数的情况

int update(String sql, Object param)(画蛇添足)

执行insert update delete语句的,有一个参数的情况

三、DBUtils中的结果处理器详解

四、ThreadLocal(很重点)

1、ThreadLocal该类提供了线程局部变量

2、分析原理:

ThreadLocal内部有一个Map。Map的key是当前线程对象,value是一个Object对象。

模拟该类:

public class ThreadLocal<T>{

private Map<Runnable,T> map = new HashMap<Runnable,T>();

public void set(T t){

map.put(Thread.currentThread(),t);

//把传入的参数绑定到当前线程上

}

public void remove(){

map.remove(Thread.currentThread());

//从当前线程上删除对象

}

public T get(){

return map.get(Thread.currentThread());

//获取当前线程上绑定的对象

}

}

五、真实案例中的事务控制(难度)

六、多表存取

6.1一对多(Hibernate映射时还会讲)

6.2多对多

6.3一对一

原文地址:https://www.cnblogs.com/bwcx1375/p/7123490.html