package com.hz.ssh; import java.util.List; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; public class Test { static String page = "1"; static String pageSize = "5"; public static void main(String[] args) { //只进行Hibernate测试 // Configuration conf = new Configuration().configure(); // SessionFactory sf = conf.buildSessionFactory(); // Session s = sf.openSession(); // // s.beginTransaction(); // Student stu = new Student(); // stu.setStu_id(8); // stu.setStu_name("111"); // stu.setStu_sex("boy"); //s.save(stu); 增 //s.delete(stu); 删除 //s.update(stu); 改 //查询
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.hz.ssh"> <class name="Student" dynamic-insert="true" table="STUDENT"> <id name="stu_id"> <column name="STU_ID"></column> </id> <property name="stu_name"> <column name="STU_NAME"></column> </property> <property name="stu_sex"> <column name="STU_SEX"></column> </property> </class> </hibernate-mapping>
ApplicationContext ac = new FileSystemXmlApplicationContext("src/applicationContext.xml"); StudentDAO sd = (StudentDAO)ac.getBean("studentDAO"); int i = sd.queryDataAccount(); System.out.println(i); // List<Student> list = sd.queryByPage(Integer.parseInt(page),Integer.parseInt(pageSize) ); // for(Student stu:list){ // System.out.println(stu.getStu_id() + stu.getStu_name() + stu.getStu_sex()); // } // Student stu = new Student(); // stu.setStu_id(11); // stu.setStu_name("56987"); // stu.setStu_sex("boy"); // sd.save(stu); // sd.delete(stu); // stu = sd.queryById2(2); // // System.out.println(stu.getStu_id() + stu.getStu_name() + stu.getStu_sex()); } }
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory > <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="connection.url">jdbc:oracle:thin:@localhost:1521:ORCL</property> <property name="connection.username">scott</property> <property name="connection.password">tiger</property> <property name="dialect">org.hibernate.dialect.OracleDialect</property> <!-- 关联映射文件 --> <mapping resource="com/hz/ssh/student.hbm.xml"/> </session-factory> </hibernate-configuration>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation"> <value>classpath:hibernate.cfg.xml</value> <!-- 连接的Hibernate的名字 --> </property> </bean> <bean id="studentDAO" class="com.hz.ssh.StudentDAO"> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> </bean> </beans>
package com.hz.ssh; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.criterion.Order; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class StudentDAO extends HibernateDaoSupport implements IStudentDAO { public static int account = 0; public static int lastpage = 0; //入库操作 public void save(Student stu){ Configuration conf = new Configuration().configure(); SessionFactory sf = conf.buildSessionFactory(); Session s = sf.openSession(); s.beginTransaction(); s.save(stu); s.getTransaction().commit(); s.close(); } //删除操作 public void delete(Student stu){ Configuration conf = new Configuration().configure(); SessionFactory sf = conf.buildSessionFactory(); Session s = sf.openSession(); s.beginTransaction(); s.delete(stu); s.getTransaction().commit(); s.close(); } //更新操作 public void update(Student stu){ Configuration conf = new Configuration().configure(); SessionFactory sf = conf.buildSessionFactory(); Session s = sf.openSession(); s.beginTransaction(); s.update(stu); s.getTransaction().commit(); s.close(); } //查询最后一一页数据! public int queryDataAccount(){ List<Student> list = null; Configuration conf = new Configuration().configure(); SessionFactory sf = conf.buildSessionFactory(); Session s = sf.openSession(); s.beginTransaction(); String hql = "from Student order by stu_id"; //查询语句 HQL list = s.createQuery(hql).list(); account = list.size(); lastpage= (int)Math.ceil((double)account/5); System.out.println(lastpage); return lastpage; } //根据ID查询 public List<Student> queryById(int id){ List<Student> list = null; Session s = this.getHibernateTemplate().getSessionFactory().openSession(); String hql = "from Student where stu_id = :stu_id"; Query query = s.createQuery(hql); list = query.setInteger("stu_id", id).list(); return list; } //查询两个数之间的数据 public List<Student> queryByTT(int id1, int id2){ List<Student> list = null ; Session s = this.getHibernateTemplate().getSessionFactory().openSession(); String hql = "from Student as s where stu_id between :stu_id1 and :stu_id2 "; Query query = s.createQuery(hql); query.setInteger("stu_id1", id1); query.setInteger("stu_id2", id2); list = query.list(); return list; } //数据分页 public List<Student> queryByPage(int page,int pagesize){ List<Student> list = null ; Session s = this.getHibernateTemplate().getSessionFactory().openSession(); list = s.createCriteria(Student.class).setFirstResult(pagesize*(page-1)) .setMaxResults(pagesize).addOrder(Order.asc("stu_id")).list(); return list; } }