public class TestHib {
/**
* 级联查询
*/
/*
* @Test public void manyToOne(){ Configuration conf = new
* Configuration().configure(); SessionFactory sf =
* conf.buildSessionFactory(); Session session = sf.openSession();
* Transaction tranf = session.beginTransaction(); Blog blog = (Blog)
* session.get(Blog.class, 1); System.out.println(blog.getTitle());
*
* tranf.commit(); System.out.println("========");
* System.out.println(blog.getAuthor().getUserName()); session.close();
*
* }
*/
// @Test
public void manyToOne2() {
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session session = sf.openSession();
Author author = (Author) session.get(Author.class, 3);
// Author author = new Author("hjhj","huhu");
Transaction tranf = session.beginTransaction();
Blog blog = new Blog(author, "中秋国庆重合", "放假8天", "八卦");
session.save(blog);
tranf.commit();
session.close();
}
/*
* @Test public void oneTomany(){ Configuration conf = new
* Configuration().configure(); SessionFactory sf =
* conf.buildSessionFactory(); Session session = sf.openSession(); //Author
* author = (Author) session.get(Author.class, 3); Author author = new
* Author("lubiao","lubiao"); Transaction tranf =
* session.beginTransaction(); Blog blog1 = new
* Blog(author,"中秋国庆重合","放假8天","八卦"); Blog blog2 = new
* Blog(author,"中秋国庆重合","放假8天","八卦"); author.getBlogs().add(blog1);
* author.getBlogs().add(blog2); session.save(author); tranf.commit();
* session.close();
*
* }
*/
/**
* 级联删除
*/
/*
* @Test public void oneTomany2(){ Configuration conf = new
* Configuration().configure(); SessionFactory sf =
* conf.buildSessionFactory(); Session session = sf.openSession(); Author
* author = (Author) session.get(Author.class, 16); //Author author = new
* Author("lubiao","lubiao"); Transaction tranf =
* session.beginTransaction(); session.delete(author); tranf.commit();
* session.close();
*
* }
*/
/**
* session缓存
*/
/*
* @Test public void oneTomany3(){ Configuration conf = new
* Configuration().configure(); SessionFactory sf =
* conf.buildSessionFactory(); Session session = sf.openSession(); //Author
* author = (Author) session.get(Author.class, 16); Author author = new
* Author("test","test"); Transaction tranf = session.beginTransaction();
* session.save(author); session.clear(); Author author2 = (Author)
* session.get(Author.class, author.getId());
* System.out.println(author2.getPassword()); tranf.commit();
* session.close();
*
* }
*/
/**
* 延时加载
*/
// @Test
public void oneTomany4() {
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session session = sf.openSession();
Author author = (Author) session.get(Author.class, 1);
// Author author = (Author) session.load(Author.class,
// 1);//懒加载lazy=“false”
session.close();
}
/**
* HQL查询对象
*/
// @Test
public void querySelect() {
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session session = sf.openSession();
// 1
/*
* String hql =
* "from Author where userName=:name and password=:password"; Query
* query = session.createQuery(sql); query.setString("name", "lubiao");
* query.setString("password", "lubiao");
*/
// 2
String hql = "from Author where userName=? and password=?";
Query query = session.createQuery(hql);
query.setString(0, "lubiao");
query.setString(1, "lubiao");
List<Author> alist = query.list();
for (Author author : alist) {
System.out.println(author.getId() + " " + author.getUserName());
}
session.close();
}
/**
* HQL删除
*/
// @Test
public void queryDelete() {
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session session = sf.openSession();
Transaction tranf = session.beginTransaction();
String hql = "delete Author where id=?";
Query query = session.createQuery(hql);
query.setInteger(0, 21);
int row = query.executeUpdate();
System.out.println(row);
tranf.commit();
session.close();
}
/**
* HQL模糊查询
*/
// @Test
public void mohuget() {
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session session = sf.openSession();
String hql = "from Author where userName like ? order by id desc";
Query query = session.createQuery(hql);
query.setString(0, "%s%");
List<Author> alist = query.list();
for (Author author : alist) {
System.out.println(author.getId() + " " + author.getUserName());
}
session.close();
}
/**
* HQL分组查询
*/
// @Test
public void group() {
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session session = sf.openSession();
String hql = "select userName ,count(*) from Author group by userName order by count(*) desc";
Query query = session.createQuery(hql);
List<Object[]> alist = query.list();
for (Object[] author : alist) {
System.out.println(author[0] + " " + author[1]);
}
session.close();
}
/**
* HQL分页查询
*/
// @Test
public void page() {
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session session = sf.openSession();
String hql = "from Author";
Query query = session.createQuery(hql);
query.setFirstResult(0);
query.setMaxResults(5);
List<Author> alist = query.list();
for (Author author : alist) {
System.out.println(author.getId() + " " + author.getUserName());
}
session.close();
}
/**
* HQL连接查询
*/
//@Test
public void join() {
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session session = sf.openSession();
String hql = "from Author a left join a.blogs";
Query query = session.createQuery(hql);
List<Object[]> alist = query.list();
for (Object[] author : alist) {
Author a = (Author) author[0];
Blog b = (Blog) author[1];
if (a != null) {
System.out.print(a.getUserName());
}
if (b != null) {
System.out.print(" : "+b.getTitle());
}
System.out.println();
}
session.close();
}
/**
* HQL子查询
*/
//@Test
public void zichaxun() {
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session session = sf.openSession();
String hql = "from Author a where (select count(*) from a.blogs)=2";
Query query = session.createQuery(hql);
List<Author> alist = query.list();
for (Author author : alist) {
System.out.println(author.getId() + " " + author.getUserName());
}
session.close();
}
/**
* QBC检索
*/
@Test
public void criteriaTest(){
// Configuration conf = new Configuration().configure();
// SessionFactory sf = conf.buildSessionFactory();
// Session session = sf.openSession();
Session session = HibernateUtil.getSession();
//创建对象
Criteria ct = session.createCriteria(Author.class);
//创建条件
Criterion c1 = Restrictions.like("userName","%s%");
Criterion c2 = Restrictions.eq("password","123");
//添加条件
ct.add(c1);
ct.add(c2);
//执行
List<Author> alist = ct.list();
for(Author author:alist){
System.out.println(author.getUserName()+":"+author.getPassword());
}
}
}
hibernate笔记
最新推荐文章于 2024-09-29 19:21:13 发布