package cn.itcast.hibernate;
import java.util.Date;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Hibernate;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import cn.itcast.hibernate.domain.Name;
import cn.itcast.hibernate.domain.User;
public class Base {
/**
* @param args
*/
public static void main(String[] args) {
User user = new User();
user.setBirthday(new Date());
Name n = new Name();
n.setFirstName("firstName");
n.setLastName("lastName");
user.setName(n);
// 111
addUser(user);
sql();
// System.out.println("id: " + user.getId());
// 222
// System.out.println("1111111");
// User u = getUser(user.getId());
// System.out.println("name: " + u.getName());
//
// DetachedCriteria dc = DetachedCriteria.forClass(User.class);
// String name = request.getParameter("name");
// if (name != null)
// dc.add(Restrictions.eq("name", name));
// int age = request.getParameter("age");
// if(age > 0)
// dc.add(Restrictions.eq("age", age));
// List users = dc(dc);
}
static List namedQuery(Date date) {
Session s = HibernateUtil.getSession();
Query q = s.getNamedQuery("getUserByBirthday");//"cn.itcast.hibernate.domain.User.getUserByBirthday1"
q.setDate("birthday", date);
return q.list();
}
static List sql() {
Session s = HibernateUtil.getSession();
Query q = s.createSQLQuery("select * from user").addEntity(User.class);
List<User> rs = q.list();
for (User r : rs)
System.out.println(r.getName());
s.close();
return rs;
}
static List dc(DetachedCriteria dc) {
Session s = HibernateUtil.getSession();
Criteria c = dc.getExecutableCriteria(s);
List rs = c.list();
s.close();
return rs;
}
static void update() {
Session s = null;
try {
s = HibernateUtil.getSession();
Transaction tx = s.beginTransaction();
Query q = s.createQuery("from User");
List<User> users = q.list();
for (User u : users) {
u.setBirthday(new Date());
// s.update(u);
}
Query q1 = s
.createQuery("update u set birthday=:bd from User as u");
q1.executeUpdate();
tx.commit();
} finally {
if (s != null)
s.close();
}
}
static User getUser(int id) {
Session s = null;
try {
s = HibernateUtil.getSession();
Class userClass = User.class;
Query q = s.createQuery("from User where id=:id");
q.setInteger("id", id);
q.uniqueResult();
// User user = (User) s.get(userClass, id);
User user1 = (User) s.load(userClass, id);
Hibernate.initialize(user1);
System.out.println(user1.getClass());
return user1;
} finally {
if (s != null)
s.close();
}
}
static void addUser(User user) {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
s.save(user);
// 333
// s.persist(user);
Name n = new Name();
n.setFirstName("firstName");
n.setLastName("lastName");
user.setName(n);
user.setBirthday(new Date());
tx.commit();
// 444
} catch (HibernateException e) {
if (tx != null)
tx.rollback();
throw e;
} finally {
if (s != null)
s.close();
}
}
static void addUser1(User user) {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
s.save(user);
tx.commit();
} finally {
if (s != null)
s.close();
}
}
}
分享到:
相关推荐
实例1 HelloWorld 实例10 创建一个窗体 实例100 上传文件 实例11 按扭 实例12 复选框 实例13 复合下拉列表 实例14 下拉列表 实例15 选项卡 实例16 对话框 实例17 文件对话框 实例18 使用HTML语言 实例19 菜单 实例2 ...
《PHP开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第I卷,以开发...
1.5 xml的编辑工具 7 1.6 xml文档 8 1.6.1 xml声明 9 1.6.2 文档类型声明 10 1.6.3 元素 11 1.6.4 注释 15 1.6.5 处理指令 15 1.6.6 空白处理 16 1.6.7 行尾处理 16 1.6.8 语言标识 16 1.7 格式良好的xml ...
1.5 xml的编辑工具 7 1.6 xml文档 8 1.6.1 xml声明 9 1.6.2 文档类型声明 10 1.6.3 元素 11 1.6.4 注释 15 1.6.5 处理指令 15 1.6.6 空白处理 16 1.6.7 行尾处理 16 1.6.8 语言标识 16 1.7 格式良好的xml ...
1.5 xml的编辑工具 7 1.6 xml文档 8 1.6.1 xml声明 9 1.6.2 文档类型声明 10 1.6.3 元素 11 1.6.4 注释 15 1.6.5 处理指令 15 1.6.6 空白处理 16 1.6.7 行尾处理 16 1.6.8 语言标识 16 1.7 格式良好的xml ...
Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 ...
Java二进制IO类与文件复制操作实例.rar Java从压缩包中提取文件.rar Java从网络取得文件.rar Java仓库管理系统,Access数据库.rar Java仿Vista界面风格的登录窗口.rar Java仿千千静听音乐播放器源代码.rar Java企业...
《PHP开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第I卷,以开发...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
1.5 xml的编辑工具 7 1.6 xml文档 8 1.6.1 xml声明 9 1.6.2 文档类型声明 10 1.6.3 元素 11 1.6.4 注释 15 1.6.5 处理指令 15 1.6.6 空白处理 16 1.6.7 行尾处理 16 1.6.8 语言标识 16 1.7 格式良好的xml ...
hibernate入门实例封装了HibernateUtil,完成数据库的添加操作,和查询操作。 Session的save方法和get方法。
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
Spring为与Hibernate进行整合,提供了一个工具类HibernateDaoSupport HibernateDaoSupport提供了基于AOP事务的自动处理,程序员完全可以不用理会事务的开始与提交,它会自动完成SessionFactory的注入和事务的注入。 ...
Hibernate Web应用的开发一般经过以下几个步骤: ...(7)通过创建的Session实例进行持久化对象的管理。 (8)通过创建的Transaction实例进行事务管理。 (9)通过创建的Query或Criteria实例实现数据库的查询。
B.1 CADODatabase类函数介绍 CADODatabase类包含关于_ConnectionPtr的函数集合。 // 打开一个数据库连接 BOOL CADODatabase::Open ( LPCTSTR lpstrConnection = _T("");//连接字符串 ) 示例: // 访问SQL Server...
4.6.5 实例:通过重写uRL跟踪Session 4.7 Web开发的中文问题 4.7.1 Java的编码原理 4.7.2 实例:解决输出中文乱码问题 4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术...
4.6.5 实例:通过重写uRL跟踪Session 4.7 Web开发的中文问题 4.7.1 Java的编码原理 4.7.2 实例:解决输出中文乱码问题 4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX...