Hibernate——对数据库的操作 (二)

save 保存 参数:保存的类

get 获取一条记录 参数:1 要查询实体类的class 2 主键

update 更新数据 两种方式

1.第一种是直接新建一个实体类实例 插入数据 进行更新操作 坏处:没有设置的类会被覆盖设置为null 

Customer customer = new Customer();
customer.setCust_name("zly");
customer.setCust_phone("155521312");
customer.setCust_id(2L);
session.update(customer);

2.第二种先是get出来一个类然后修改实体类 然后再更新

Customer customer = new Customer();
customer = session.get(customer.getClass(), 1L);
customer.setCust_name("lxn");
session.update(customer);

delete 删除数据 第一种是直接传进去一个类实例 第二种是查出来在删除,区别第二个支持级联删除

1.

Customer customer = new Customer();
customer.setCust_id(2L);
session.delete(customer);

2.

Customer customer = session.get(new Customer().getClass(), 6L);
session.delete(customer);

saveOrUpdate 如果有设置id那么就直接是更新 如果没有设置那就是自动插入新的

Customer customer = new Customer();
customer.setCust_id(1L);
customer.setCust_name("sss");
session.saveOrUpdate(customer);

select查询全部

第一种 用了createQuery(“from 类的class"); 通过.list返回个指定Class返回的list集合

Query query = session.createQuery("from com.xiaonuo.domain.Customer");
List<Customer> list = query.list();
for (Customer customer : list) {
    System.out.println(customer);

第二种 不推荐使用但记录一下 

NativeQuery sqlQuery = session.createSQLQuery("select * from customer");
List<Object[]> list = sqlQuery.list();
for (Object[] objects : list) {
    System.out.println(Arrays.toString(objects));
}

猜你喜欢

转载自blog.csdn.net/qq_40632760/article/details/86412571
今日推荐