摘要:
IOC(Inversion of Control):控制反转 以下以课程与老师的安排来介绍控制反转。 一个合理的课程编排系统应该围绕培训的内容为核心,而不应该以具体的培训老师为核心,这样才能在正常授课时可以随意选取合适的老师来上课,而非绑定到一个老师身上。 一、探索IOC 1、最紧耦合度的编法 老师 阅读全文
摘要:
一、Hibernate完成一个事务的过程 背景: 当多个事务同时要同一个数据时,如果没有良好的控制手段,则有可能同一个数据被别的事务修改而造成混乱,此时,可以利用数据库底层提供的锁机制对当前操作的数据进行锁定,以防止其他事务同时操作事务。 二、悲观锁(Pessimistic Locking) 每次在 阅读全文
摘要:
一、Hibernate的缓存机制 缓存cache是位于应用层与物理数据源之间临时存放复制数据的内存区域,其目的是为了减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能。 Hibernate在查询数据时,首先会到缓存中查找,如果找到就直接使用,只有在缓存中找不到时才会从物理数据源中检索。因 阅读全文
摘要:
一、查询所有的时候 不要写select * 注意:此处的Company不是表,而是映射过来的类。 二、取得单笔数据 方法为setMaxResults()和uniqueResult()方法。 三、带有参数的HQL语句 :p1,前面的冒号代表这是个变量。 四、取得多个字段,将取出的东西放在list中,前 阅读全文
摘要:
三种连接都是以连接MySQl为例。 <!-- JDBC驱动程序 --> <property name="connection.driver_class">org.gjt.mm.mysql.Driver</property> <property name="connection.url">jdbc:m 阅读全文
摘要:
一、立即检索 所谓立即检索就是立即装载和初始化检索方法指定的对象,即使Session关闭了,依然可以正常访问。立即检索策略的启用是通过在映射配置文件中将lazy实行值设置为false实现的。 通俗讲就是立即检索在加载时就把所有和主表关联的表加载到内存中,无论调不调用它们。 优点是快,缺点是占内存 注 阅读全文
摘要:
一、@Entity 写在映射表的类上面,表示这是映射来的实体 二、@Id @Column(name = "fid", nullable = false) @Basic @Column(name = "fname", nullable = true, length = 10) 四、@OneToMany 阅读全文
摘要:
前提:使用注解映射 一、一对一(夫妻关系表) 两个表:hus1和wife1表,外键为id,各自有名字hname和wname 映射得到两个类:Hus1和Wife1类 Hus1类(主表): Wife1类 对两个表进行操作: 二、一对多(父子关系表) 两个表:父亲表(father2)、儿子表(son2), 阅读全文
摘要:
关系数据库主要依靠主键区分不同的记录,主键又有自然主键和代理主键之分。 自然主键:就是充当主键的字段本身具有一定的含义,是构成记录的组成部分,比如学生的学号,除了充当主键之外,同时也是学生记录的重要组成部分。 代理主键:就是充当主键的字段本身不具有业务意义,只具有主键作用,比如自动增长的ID。 在H 阅读全文
摘要:
一、gradle中包: 这时,右下角会出现一个持久化选项卡,点击该选项卡:右键点击B7_main选项, 点击Generate Persisitence Mapping,点击By Database Schema, (需要自己新建一个po层),选择自己需要的数据库,表以及关系,然后ok即可 它会自动生成 阅读全文