hibernate加载配置文件2种方式 java
这种方式看源码其实就是读取固定路径固定名字的配置文件,也就是src下的hibernate.cfg.xml 数据库
Configuration configuration = new Configuration(); configuration.configure();
第2中就是能够传参数,看源码其实就是读取传入路径的文件。 session
public Configuration configure(String resource) throws HibernateException{ log.info("configuring from resource :" + resource); InputStream stream = getConfigurationInputStream(resource); return doCongigure(stram,resource); }
hibernate的增删改查
ui
上次完成了第一个简单添加的例子,下面删除,修改,查询操做。 spa
public class Demo(){ static{ Configuration configuration = new Configuration(); configuration.configure(); sessionFactory = configuration.buildSessionFactory(); } //查找全部Person表中对象 public void demoQuery(){ Session session = sessionFactory.openSession(); List<Person> personList = session.createQuery("from Persn").list(); for(Person person:personList){ System.out.println(person.getPname()); } session.close(); } //根据ID查找一个Person public void demoQueryPersonByID(){ Session session = sessionFactory.openSession(); /** * 按照主键的方式查询数据库表中的记录 * 第二个参数的类型必须和持久化中标示符的类型保持一致 */ Person person = (Person)session.get(Person.class, 1L); System.out.println(person.getPname()); session.close(); } //2种删除方式 public void demoDeletePerson(){ Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); /** * 一、根据id把值从数据库中查找出来 * 二、把对象删除掉 */ Person person = (Person)session.get(Person.class, 1L); session.delete(person); /** * 一、新建立一个person对象 * 二、给person对象的标示符赋值 * 三、调用session.delete方法删除 */ Person person = new Person(); person.setPid(2L); session.delete(person); transaction.commit(); session.close(); } public void testUpdatePerson(){ Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); /** * 一、根据id把持久化对象提取出来 * 二、进行修改 * 三、执行upate操做 */ Person person = (Person)session.get(Person.class, 1L); person.setPsex("man"); Person person = new Person(); person.setPid(1L); session.update(person); transaction.commit(); session.close(); } }