1.增:
@Test
/* 增 */
public void test() {
// 0.封装数据。瞬时对象
PojoUser user = new PojoUser();
user.setName("Emine");
user.setAge(32);
user.setCity("Holloyed");
Configuration configuration = new Configuration().configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
// 6.由框架自动生成sql语句。转为持久对象
session.save(user);
// 7.提交事务,释放资源。变为脱管对象
transaction.commit();
session.close();
sessionFactory.close();
}
2.删:
@Test
/* 删 */
public void test() {
Configuration configuration = new Configuration().configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
// 6.由框架自动生成sql语句
PojoUser user = new PojoUser();
user.setId(1); //根据ID进行删除
session.delete(user);
transaction.commit();
session.close();
sessionFactory.close();
}
3.改:
@Test
/* 改 */
public void test() {
Configuration configuration = new Configuration().configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
// 6.由框架自动生成sql语句
/** 更新一:根据指定ID更新 */
PojoUser user = new PojoUser();
user.setId(1); //必须指定一个已知ID
user.setAge(25);
user.setName("U2");
//user.setCity(),没有配置的属性将被更新为NULL或0
/**Hibernate的更新默认针对全部字段*/
session.update(user);
/** 更新二:根据已知记录,更新某列 */
PojoUser pu = (PojoUser) session.get(PojoUser.class, 3);
pu.setCity("Beijing");
session.update(pu);
transaction.commit();
session.close();
sessionFactory.close();
}
4.根据主键查:
@Test
/* 查 */
public void test() {
// 1.实例化配置器,加载配置文件 hibernate.cfg.xml,POJO.hbm.xml
Configuration configuration = new Configuration().configure();
// 2.服务注册器
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
// 3.创建会话连接工厂。v4使用注册器创建会话工厂
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
// 4.创建会话
Session session = sessionFactory.openSession();
// 5.开启事务
Transaction transaction = session.beginTransaction();
// 6.由框架自动生成sql语句
int i=2;
//方法一:get,立即查询获取实际对象
PojoUser user = (PojoUser) session.get(PojoUser.class, i);
System.out.println("查询到:"+user.toString());
//方法二:load,缓冲查询获取代理对象
PojoUser user = (PojoUser) session.load(PojoUser.class, i);
System.out.println("查询到:"+user.toString());
// 7.提交事务,释放资源
transaction.commit();
session.close();
sessionFactory.close();
}
5.使用HQL查:
@Test
/* 查 */
public void test() {
Configuration configuration = new Configuration().configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
// 6.查询
/**方式一:使用HQL语句查询全部**/
String strHql = "from PojoUser"; //from POJO
//查询器
Query query = session.createQuery(strHql);
//返回集合
List<PojoUser> users = query.list();
for (PojoUser user:users) {
System.out.println(user.toString());
}
transaction.commit();
session.close();
sessionFactory.close();
}
6.使用SQL查:
@Test
/* 查 */
public void test() {
Configuration configuration = new Configuration().configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
// 6.查询
/**方式二:使用SQL语句查询全部**/
String strSql = "select * from tb_user"; //from 表单
//Sql查询器
SQLQuery sqlQuery = session.createSQLQuery(strSql);
//返回Object数组
List<Object[]> objects = sqlQuery.list();
for (Object[] object : objects) {
System.out.println(Arrays.toString(object));
}
transaction.commit();
session.close();
sessionFactory.close();
}
- end