- 浏览: 557918 次
- 性别:
- 来自: 合肥
最新评论
-
d199212:
引用引用[u][/u]
高德地图创建自定义覆盖物 -
lyuaong2010:
这做法不错,百度地图 提供的拉框获取不到矩形的几点
百度地图封装实现拉框效果 -
Allen_J_Will:
...
我的“天气宝”上线啦 -
chenzheng8975:
王太阳 写道你这根本就不出来,,你漏了几个地方...例子只做参 ...
ztree学习之异步加载节点 -
chenzheng8975:
王太阳 写道你这根本就不出来,,你漏了几个地方... 有图有真 ...
ztree学习之异步加载节点
文章列表
从ApplicationContex应用上下文容器中获取bean和从bean工厂容器中获取bean:
具体案例:
//从ApplicationContext中取bean
ApplicationContext ac=new ClassPathXmlApplicationContext("beans.xml");
//当我们去实例化beans.xml,该文件中配置的bean被实例化(该bean scope是 singleton)从bean中取出student
//如果我们使用beanfactory去获取bean,当你只是实例化该容器, 那么容器的bean不被实例化, ...
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page language="java" import="java.util.*,java.lang.*"
pa ...
主键增长策略
对象标识符(OID object id)
从表的角度看,OID对应表的主键。从类的角度看OID对应类的主键属性.increment:
由Hibernate自动以递增方式生成标识符,每次增量为1。
select max(id) from Student
优点:不依赖于底层数据库系统 ...
为什么需要二级缓存?
因为一级缓存有限(生命周期短),所以我们需要二级缓存(SessionFactory缓存)来弥补这个问题
需要配置
二级缓存是交给第三方去处理,常见的Hashtable , OSCache , EHCache
二级缓存的对象可能放在内存,也可能放在磁盘.
在*.hbm.xml文件中加入使用二级缓存的策略:
<cache usage="read-write"/>
也可以直接在hibernate.cfg.xml配置:
<class-cache class="cn.cz.domain.Users" usage ...
为什么需要缓存:
当我们去查询对象的时候,首先到一级缓存去取数据,如果有,则不到数据库中取,如果没有则到数据库中取,同时在一级缓存中放入对象.
缓存的作用主要用来提高性能,可以简单的理解成一个Map;使用缓 ...
懒加载:
懒加载(Load On Demand)是一种独特而又强大的数据获取方法 ,是指程序推迟访问数据库
,这样做可以保证有时候不必要的访问数据库,因为访问一次数据库是比较耗时的。
简述: 当我们查询一个对象的时候,在默认情况下,返回的只是该对象的普通属性,当用户去使用对象属性时,才会向数据库发出再一次的查询.这种现象我们称为 lazy现象
.
解决方法可以这样:
显示初始化 Hibernate.initized(代理对象)
修改对象关系文件 lazy 改写 lazy=false
通过过滤器(web项目) openSessionInView
hibernate中,取消l ...
index.jsp:
<%@ page contentType="text/html;charset=utf-8"%>
<%@ page language="java" import="java.sql.*" errorPage=""%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> ...
package com.cz.test;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class TestTime {
/**
* 得到几天前的时间
* @param d
* @param day
* @return
*/
public static Date getDateBefore(Date d,int day){
Calend ...
hibernate 对象的三种关系:
one – to – one : 身份证<--->人
one – to – many : 部门 <---> 员工
many-to-one : 员工<--->部门
many-to-many : 学生<--->老师
在实际开发中,如果出现了many-to-many关系,我们应该将其转换成两个one-to-many 或者 many-to-one,这个程序好控制,同时不会有冗余.单向多对一(Employee - Department)
Employee映射文件
<many-to-one ...
Hibernate学习之级联操作:
级联操作
Casade用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似的操作,常用的cascade:
none,all,save-update ,delete, lock,refresh,evict,replicate,persist,merge,delete-orphan(one-to-many) 。一般对many-to-one,m ...
一是某个类只能有一个实例
;
二是它必须自行创建这个实例;
三是它必须自行向整个系统提供这个实例
public class Singleton {
//在自己内部定义自己的一个实例,只供内部调用
private static Singleton instance = new Singleton();
//私有构造,不能在外部构造了
private
Singleton(){
//do something
}
...
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
...
实例一:
加密工具类:
package com.cz.md5;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Util {
public static String getMD5Str(String str) {
MessageDigest messageDigest = null;
try ...
uniqueResult方法
如果我们检索一个对象,明确知道最多只有一个对象
,则建议使用该方法:
具体用法如下:
Student s=(Student) session.createQuery("from Student where sid='20050003'").uniqueResult();
System.out.println(s.getSname());distinct的用法
...
工具类HibernateUtil.java:
package com.cz.util;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
final public class HibernateUtil {
private stat ...