package com.lyq.dao; import java.util.Date; import org.hibernate.Query; import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; import com.lyq.persistence.Category; import com.lyq.persistence.Medicine; import com.lyq.persistence.User; import com.lyq.util.HibernateFilter; /** * 用户数据库操作类 * 用于查询用户及系统初始化 * @author Li Yong Qiang */ public class UserDao extends SupperDao { /** * 查询用户 * @param userName * @param password * @return User */ public User login(String userName,String password){ User user = null; try { session = HibernateFilter.getSession(); //获取Session对象 session.beginTransaction(); //开启事物 //HQL查询语句 String hql = "from User u where u.username=? and u.password=?"; Query query = session.createQuery(hql) //创建Query对象 .setParameter(0, userName)//动态赋值 .setParameter(1, password);//动态赋值 user = (User)query.uniqueResult(); //返回User对象 session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback(); //回滚事物 } return user; } /** * 根据id查询用户 * @param id * @return User */ public User loadUser(int id){ User user = null; try { session = HibernateFilter.getSession(); //获取Session对象 session.beginTransaction(); //开启事物 //根据id加载用户 user = (User)session.load(User.class, new Integer(id)); session.getTransaction().commit(); //提交事物 } catch (Exception e) { e.printStackTrace(); //打印异常信息 session.getTransaction().rollback(); //回滚事物 } return user; } /** * 系统初始化数据 */ public void initialization(){ try { Configuration cfg = new Configuration().configure(); SchemaExport export = new SchemaExport(cfg); export.create(true, true); session = HibernateFilter.getSession(); //获取Session对象 session.beginTransaction(); //开启事物 Category c1 = new Category(); c1.setName("感冒用药"); c1.setDescription("主治感冒、发烧、头痛。"); c1.setCreateTime(new Date()); Category c2 = new Category(); c2.setName("胃肠用药"); c2.setDescription("胃炎、肠炎专用药。"); c2.setCreateTime(new Date()); Category c3 = new Category(); c3.setName("儿童用药"); c3.setDescription("慎用,儿童用药。"); c3.setCreateTime(new Date()); Medicine d1 = new Medicine(); d1.setName("感冒胶囊A"); d1.setPrice(2.5); d1.setMedCount(3); d1.setCategory(c1); d1.setFactoryAdd("制药一厂"); d1.setDescription("效果很好"); d1.setMedNo("abc001"); Medicine d2 = new Medicine(); d2.setName("感冒胶囊B"); d2.setPrice(10.05); d2.setMedCount(10); d2.setCategory(c1); d2.setFactoryAdd("制药一厂"); d2.setDescription("治疗伤风、头痛效果很好"); d2.setMedNo("abc002"); Medicine d3 = new Medicine(); d3.setName("xx肠炎灵"); d3.setPrice(5.8); d3.setMedCount(100); d3.setCategory(c2); d3.setFactoryAdd("制药二厂"); d3.setDescription("主治拉肚子"); d3.setMedNo("abc003"); Medicine d4 = new Medicine(); d4.setName("小儿感冒冲剂"); d4.setPrice(5.8); d4.setMedCount(100); d4.setCategory(c3); d4.setFactoryAdd("制药三厂"); d4.setDescription("效果很好"); d4.setMedNo("abc004"); User u = new User(); u.setUsername("admin"); u.setPassword("admin"); u.setCreateTime(new Date()); session.save(d1); session.save(d2); session.save(d3); session.save(d4); session.save(u); session.getTransaction().commit(); //提交事物 } catch (Exception e) { session.getTransaction().rollback(); //回滚事物 e.printStackTrace(); }finally{ if(session != null){ if(session.isOpen()){ session.close(); } } } } }
最近下载更多
2860615178 LV4
5月29日
g11865095 LV1
5月14日
javaee165 LV2
2023年2月15日
upup996 LV6
2022年12月15日
微信网友_6261654233190400 LV2
2022年12月14日
Hsy605 LV9
2022年6月22日
北方菜 LV11
2022年5月11日
湫枫1234 LV4
2022年4月3日
wanglinddad LV55
2022年2月23日
破衣飘飘 LV2
2022年2月9日