⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 book.java

📁 java相关的j2me,j2se的一些相关资料
💻 JAVA
字号:
package component;

import java.util.Iterator;
import java.util.List;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;

public class Book {
    public String id;
    public String bookId;
    public String author;
    public BookProperty bookProperty;   //用于实现组件
    
    public Book() {}
    public String getId(){return id;}          public void setId(String id){this.id=id;}
    public String getBookId(){return bookId;} public void setBookId(String bookId){this.bookId=bookId;}
    public String getAuthor(){return author;} public void setAuthor(String author){this.author=author;}
    public BookProperty getBookProperty(){return bookProperty;}
    public void setBookProperty(BookProperty bookProperty){this.bookProperty=bookProperty;}
    
    public static void saveBook(){
        SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
        Session session =  sessionFactory.getCurrentSession();        
        BookProperty property = new BookProperty();   //声明一个组件对象
        property.bookName="武侠小说"; property.price=58; //为组件对象赋值
        session.beginTransaction();
        for(int i=0;i<100;i++){
            Book book = new Book();   //声明一个主体类对象
            book.author="www";    book.bookId = String.valueOf(97823+i);              
            book.setBookProperty(property);     //将组件对象赋予到主体类对象中            
            session.save(book); //如果数量大,可能会出现OutOfMemoryError错误,所以使用下面的方式,防此出错.
            if(i%20==0){ //20取的是hibernate.cfg.xml中的batch_size的值.
                //每20条数据,存入一次数据库,并释放内存.
                session.flush(); //写入数据库
                session.clear(); //释放内存
            }
        }
        session.getTransaction().commit();
        sessionFactory.close();
    }
    
    public static void queryBook(){  //数据库查询
        SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
        Session session =  sessionFactory.getCurrentSession();
        session.beginTransaction();  //查询时所有的语句必须在beginTransaction()和getTransaction().commit()之间.
        /*查询出所有符合条件的数据
        Query query = session.createQuery("from Book where bookId like '%2%'");  //执行查询
        List<Book>  books = query.list();
         */
        Query query = session.createQuery("from Book");
        query.setFirstResult(20);  //设置开始行
        query.setMaxResults(10);   //设置最大行
        List<Book>  books = query.list();//查询
        for(Book book:books){ System.out.println(book.bookId); }
        //Book book = (Book)session.createQuery("from Book").uniqueResult();
        //System.out.println(book.bookId);
        session.getTransaction().commit();
        sessionFactory.close();
    }
    
    public static void updateBook(){
        SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
        Session session =  sessionFactory.getCurrentSession();
        session.beginTransaction();
        /*查询修改
        //Book book = (Book)session.load(Book.class,"ff80808115568b800115568e00c300c5");
        Book book = (Book)session.get(Book.class,"ff80808115568b800115568e00c300c5");
        book.setBookId("189");   //必须要使用setBookId方法,不能直接赋值,否则无法更新.
        session.flush();         //更新数据,无需使用update.
         */
        /*托管修改
        Book querybook = (Book)session.get(Book.class,"ff80808115568b800115568df9cd00c1");
        Book updatebook = new Book();
        updatebook = querybook;  //将持久化对象赋给新的对象
        updatebook.bookId = "785";
        session.update(updatebook);
         */
        session.getTransaction().commit();
        sessionFactory.close();
    }
    
    public static void deleteBook(){
        SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
        Session session =  sessionFactory.getCurrentSession();
        session.beginTransaction();
        //Book book = (Book)session.get(Book.class,"ff80808115568b800115568df9cd00c1");
        Book book = new Book(); book.id = "ff80808115568b800115568dfd2900c3";
        session.delete(book);
        session.getTransaction().commit();
        sessionFactory.close();
    }
    
    public static void main(String args[]){
        //saveBook();
        queryBook();
        //updateBook();
        //deleteBook();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -