【hibernate实例】赵雅智_增删改查
来源:互联网 发布:怎么找淘宝店铺微淘 编辑:程序博客网 时间:2024/05/22 21:22
User.hbm.xml
- <?xml version="1.0"?>
- <!DOCTYPE hibernate-mapping PUBLIC
- "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
- <hibernate-mapping package="www.hbsi.com.domain">
- <!-- 主键 -->
- <class name="User" >
- <id name="id">
- <generator class="increment" />
- </id>
- <!-- 属性 -->
- <property name="name" />
- <!-- type属性为通过hibernate的某个类型知道把java里的类型映射到数据库里的类型
- date类型默认为TIMESTAMP,有时间也有日期
- 如果想要只有日期的就要设置一下
- -->
- <property name="birthday" type="date"/>
- </class>
- </hibernate-mapping>
新建一个工具类:HibernateUtil.java
- package www.hbsi.com.utils;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.cfg.Configuration;
- public class HibernateUtil {
- private static Session session;
- static {
- //加载配置文件
- Configuration config = new Configuration().configure();
- //session工厂
- SessionFactory sf = config.buildSessionFactory();
- session = sf.openSession();
- }
- public static Session getSession() {
- return session;
- }
- }
编写增删改查:crud.java
- package www.hbsi.com.demo;
- import java.util.Date;
- import java.util.List;
- import org.hibernate.Query;
- import org.hibernate.Session;
- import org.hibernate.Transaction;
- import org.junit.Test;
- import www.hbsi.com.domain.User;
- import www.hbsi.com.utils.HibernateUtil;
- public class curd {
- Transaction tx = null;
- Session session = null;
- /*
- * 增加用户
- */
- @Test
- public void addUser() {
- User user = new User();
- user.setName("Linda");
- user.setBirthday(new Date());
- // 获取session
- try {
- session = HibernateUtil.getSession();
- session.beginTransaction();
- // 增加
- session.save(user);
- session.getTransaction().commit();
- } catch (Exception e) {
- if (tx != null)
- tx.rollback();
- // throw new RuntimeException(e);//扔出异常
- e.printStackTrace();// 打印轨迹,打印异常
- } finally {
- if (session != null)
- session.close();
- }
- }
- /*
- * 根据id查找用户
- */
- @Test
- public void findUser() {
- Session session = HibernateUtil.getSession();
- User user = (User) session.get(User.class, 1);
- System.out.println(user.getName() + "---" + user.getBirthday());
- session.close();
- }
- /*
- * load方式查找用户
- * 和get方法区别,load属于懒加载
- * 如果没有输出语句,get运行时控制台输出sql语句,load运行不输出sql语句
- * load在调用的时候才加载sql语句
- */
- @Test
- public void loadFindTest() {
- Session session = HibernateUtil.getSession();
- User user = (User) session.load(User.class, 2); // 懒加载,延迟加载
- System.out.println(user.getName()+"---"+user.getBirthday());
- session.close();
- }
- /*
- * 根据id删除用户
- */
- @Test
- public void deleteUser() {
- /*找到之后删除
- Session session = HibernateUtil.getSession();
- session.beginTransaction();
- User user = (User)session.get(User.class, 3);
- session.delete(user);
- session.getTransaction().commit();
- session.close();
- */
- //直接删除
- Session session = HibernateUtil.getSession();
- session.beginTransaction();
- User user = new User();
- user.setId(1);
- session.delete(user);
- session.getTransaction().commit();
- session.close();
- }
- /*
- * 修改用户
- */
- @Test
- public void updateUser() {
- //找到修改
- /* Session session = HibernateUtil.getSession();
- session.beginTransaction();
- User user = (User) session.get(User.class,1);
- user.setName("Tom");
- session.update(user);
- session.getTransaction().commit(); session.close();
- */
- //直接修改
- //如果不给birthday复制,birthday值为空
- Session session = HibernateUtil.getSession();
- session.beginTransaction();
- User user = new User();
- user.setId(1);
- user.setName("Tom");
- session.update(user);
- session.getTransaction().commit();
- session.close();
- }
- /*
- * 查找所有
- */
- @Test
- public void getAll() {
- Session session = HibernateUtil.getSession();
- Query query = session.createQuery("from User"); // HQL;针对实体类
- List<User> users = query.list();
- for (User user : users) {
- System.out.println(user.getId() + ":" + user.getName() + ":"
- + user.getBirthday());
- }
- }
- }
查找
根据id删除
直接删除
修改,直接修改
修改,查找后修改
查询所有
load方式查询
- 【hibernate实例】赵雅智_增删改查
- 【hibernate实例】增删改查
- springMVC+spring+hibernate增删改查实例
- Hibernate 简单 的 增删改查 实例
- hibernate增删查改
- hibernate增删改查
- Hibernate增删改查
- hibernate 增删改查
- hibernate 增删改查
- Hibernate 增删改查
- Hibernate增删改查
- hibernate 增删改查
- Hibernate增删改查
- Hibernate增删改查
- hibernate增删改查
- Hibernate--增删改查
- Hibernate--增删改查
- Hibernate-增删改查
- 看英文文献方法
- 我在运行visual studio 2010 出现严重问题--- 临时目录“W:\userTemp\”不是有效目录。安装程序无法继续
- linux 下C编程 总结
- 把object放到同一个目录的Makefile写法,目标文件同一目录
- vi的使用
- 【hibernate实例】赵雅智_增删改查
- Sublime Text 2 入门
- java调用hownet--jni
- struct timeval结构体 以及 gettimeofday()函数
- 文章合集Raspberry Pi/树莓派
- centos5.6 安装 python 2.7
- HTML DOM 获取form表单项中的值
- FreeRDP的安装方法
- 项目开发流程