hibernateDAO层基本的增删改查
完整的学习项目放在了我的github上,是一个半成品的在线音乐网站。
hibernate版本1.4 下面是userDAO 即对user表进行增删改查
package DAO; import java.util.List; import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction; import Bean.HibernateSessionFactory;
import Bean.User; public class UserDAO { public static void insertUser(User user) {
Transaction tx = null;
try {
Session session = HibernateSessionFactory.getSessionFactory()
.openSession();
tx = session.beginTransaction();
session.save(user); tx.commit(); } catch (HibernateException e) {
e.printStackTrace();
tx.rollback();
}
HibernateSessionFactory.closeSession();
}//add public static void deleteUser(String userId) {
Transaction tx = null;
try {
User user = getUser(userId);
Session session = HibernateSessionFactory.getSessionFactory()
.openSession();
tx = session.beginTransaction();
session.delete(user);
tx.commit(); } catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
HibernateSessionFactory.closeSession();
}//delete public static void updateUser(User user) {
Transaction tx = null;
try {
Session session = HibernateSessionFactory.getSessionFactory()
.openSession();
tx = session.beginTransaction();
session.update(user);
tx.commit(); } catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
HibernateSessionFactory.closeSession();
}//update public static User getUser(String userId) {
Transaction tx = null;
User user = null;
try {
Session session = HibernateSessionFactory.getSessionFactory()
.openSession();
tx = session.beginTransaction();
user = (User) session.get(User.class, userId);
tx.commit(); } catch (HibernateException e) {
e.printStackTrace();
tx.rollback();
}
HibernateSessionFactory.closeSession();
return user;
}//get one public static List<User> getUsers() {
Transaction tx = null;
List<User> list = null;
try {
Session session = HibernateSessionFactory.getSessionFactory()
.openSession();
tx = session.beginTransaction();
Query query = session.createQuery("from User order by userId desc");
list = query.list();
tx.commit(); } catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
HibernateSessionFactory.closeSession();
return list;
}// get all public static List<User> checkUser(String userId,String userPwd) {
Transaction tx = null;
List<User> list = null;
try {
Session session = HibernateSessionFactory.getSessionFactory()
.openSession();
tx = session.beginTransaction();
Query query = session.createQuery("from User as u where u.userId=:userId and u.userPwd=:userPwd");
query.setString("userId", userId);
query.setString("userPwd", userPwd);
list = query.list();
tx.commit();}
catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
HibernateSessionFactory.closeSession();
return list;
} //测试DAO
public static void main(String[] args){
List<User> list = UserDAO.getUsers(); System.out.println("½øÈë²âÊÔº¯Êý"); for(int i=0;i<list.size();i++){
User user= new User();
user = list.get(i);
System.out.println(user.getUserId());
}
} }
hibernateDAO层基本的增删改查的更多相关文章
- EntityFramework经典数据访问层基类——增删改查
namespace StudentSys.DAL { public class BaseService<T>:IDisposable where T:BaseEntity,new() { ...
- C# EF增删改查
1.增 //1.创建一个EF数据上下文对象 MyDBEntities context=new MyDBEntities(); //2.将要添加的数据,封装成对象 Users user = new Us ...
- Python操作MySQL数据库完成简易的增删改查功能
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目介绍 二丶效果展示 三丶数据准备 四丶代码实现 五丶完整代码 一丶项目介绍 1.叙述 博主闲暇之余花了10个小时写的 ...
- IDEA SpringBoot-Mybatis-plus 实现增删改查(CRUD)
上一篇: IDEA SpringBoot-Mybatis实现增删改查(CRUD) 下一篇:Intellij IDEA 高效使用教程 (插件,实用技巧) 最好用的idea插件大全 一.前言 Mybati ...
- SpringBoot整合MybatisPlus基本的增删改查,保姆级教程
概述 MybatisPlus是国产的第三方插件, 它封装了许多常用的CURDapi,免去了我们写mapper.xml的重复劳动,这里介绍了基本的整合SpringBoot和基础用法. 引入依赖 在项目中 ...
- GZFramwork数据库层《四》单据主从表增删改查
同GZFramwork数据库层<三>普通主从表增删改查 不同之处在于:实例 修改为: 直接上效果: 本系列项目源码下载地址:https://github.com/GarsonZhang/G ...
- GZFramwork数据库层《三》普通主从表增删改查
运行结果: 使用代码生成器(GZCodeGenerate)生成tb_Cusomer和tb_CusomerDetail的Model 生成器源代码下载地址: https://github.com/Gars ...
- GZFramwork数据库层《二》单据表增删改查(自动生成单据号码)
运行效果: 使用代码生成器(GZCodeGenerate)生成tb_EmpLeave的Model 生成器源代码下载地址: https://github.com/GarsonZhang/GZCodeGe ...
- ABP入门系列(6)——展现层实现增删改查
这一章节将通过完善Controller.View.ViewModel,来实现展现层的增删改查.最终实现效果如下图: 一.定义Controller ABP对ASP.NET MVC Controllers ...
随机推荐
- 11.1NOIP模拟赛解题报告
心路历程 预计得分:\(100 + 100 + 50\) 实际得分:\(100 + 100 + 50\) 感觉老师找的题有点水呀. 上来看T1,woc?裸的等比数列求和?然而我不会公式呀..感觉要凉 ...
- 1004. 填充矩形 (Standard IO)
题目描述 已知矩形的大小为n×m,现用a×a的正方形填充该矩形.输入三个正整数n,m,a(n,m,a≤10^9),计算至多能填入多少正方形?(正方形可以正好碰到矩形边界,但不能超出矩形外) 输入 一行 ...
- LinqToSql EntityFramework(ef)查看生成的sql语句
var dc=new DBDataContext(); TextWriter tw = new StringWriter(); dc.Log = tw; var list = dc.News.Skip ...
- QQ 聊天机器人小薇 2.0.0 发布!
本次发布主要加入了支持讨论组聊天,并增强了稳定性.另外,官方小薇 QQ 机器人已经下线,大家要体验的话请 自建私服~ 简介 XiaoV(小薇)是一个用 Java 写的 QQ 聊天机器人 Web 服务, ...
- 07_dubbo_compiler
[开始解析最后一行代码 ExtensionLoader.getAdaptiveExtension()] ExtensionLoader<Protocol> loader = Extensi ...
- select下拉框默认不能选择第一个选项的问题
如题,现在有个js的功能:用户选择下拉框的同时,把选择的下拉框显示出来.同时选择的不能有重复的.刚开始 使用的是 select的onchange事件: $("#liveType") ...
- react-native 在Xcode上传到iTunes Connect里报错
在xcode里面点击“upload to app store”的时候,提示“the session's status is FAILED and the error description is 'C ...
- javascript 获取文档/屏幕的Width||Height
document.body.clientWidth //网页可见区域宽度document.body.clientHeight //网页可见区域高度document.body.offsetWidth / ...
- java img图片转pdf 工具类
package com.elitel.hljhr.comm.web.main.controller; import java.io.File; import java.io.FileNotFoundE ...
- Maven学习---使用maven进行项目构建
1. 使用maven进行项目构建 MyEclipse 自带maven 插件 Eclipse 需要单独安装maven插件 1.1. Maven 在企业中怎么用的 ? Maven : 项目构建工具 ,进行 ...