<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的漫漫程序之旅

    專(zhuān)注于JavaWeb開(kāi)發(fā)
    隨筆 - 39, 文章 - 310, 評(píng)論 - 411, 引用 - 0
    數(shù)據(jù)加載中……

    基于JPA的Hibernate->CRUD(簡(jiǎn)單應(yīng)用)(原創(chuàng))

    數(shù)據(jù)庫(kù)用的是mysql5.0;
    腳本如下:
    use test;
    create table person
    (
     id 
    int AUTO_INCREMENT primary key,
     username 
    varchar(20),
     password 
    varchar(20)
    );

    insert into person values(null,'ts','ts');
    實(shí)體類(lèi)用Annotation映射,代替hbm.
    package com.vo;

    import java.io.Serializable;

    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Table;

    @SuppressWarnings(
    "unchecked""serial" })
    @Entity 
    //標(biāo)識(shí)是一個(gè)實(shí)體
    @Table(name="person"//映射表
    public class Person implements Serializable
    {
        
    //主鍵映射
        @Id
        
    //主鍵自增
        @GeneratedValue(strategy=GenerationType.AUTO)
        
    private Integer id;
        
    //@Column(name="username"),對(duì)于列,可映射也可以不映射.注意保持列名和屬性名一致就行 
        private String username;
        
    private String password;

        
    public Integer getId()
        
    {
            
    return id;
        }


        
    public void setId(Integer id)
        
    {
            
    this.id = id;
        }


        
    public String getUsername()
        
    {
            
    return username;
        }


        
    public void setUsername(String username)
        
    {
            
    this.username = username;
        }


        
    public String getPassword()
        
    {
            
    return password;
        }


        
    public void setPassword(String password)
        
    {
            
    this.password = password;
        }

    }


    hibernate.cfg.xml配置文件:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
    >
    <hibernate-configuration>
        
    <session-factory>
            
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
            
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            
    <property name="connection.url">jdbc:mysql://localhost:3306/test</property>
            
    <property name="connection.username">root</property>
            
    <property name="connection.password">root</property>
            
    <property name="show_sql">true</property>
            
    <!-- 實(shí)體類(lèi)映射 -->
            
    <mapping class="com.vo.Person"/>
        
    </session-factory>
    </hibernate-configuration>    
    測(cè)試類(lèi):
    package com.test;

    import java.util.List;

    import org.hibernate.Session;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.AnnotationConfiguration;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    import static org.junit.Assert.*;
    import com.vo.Person;

    public class PersonTest
    {
        
    private Session session;
        
    private Transaction tx;

        @Before
        
    public void before()
        
    {
            session 
    = new AnnotationConfiguration().configure()
                    .buildSessionFactory().openSession();
            tx 
    = session.getTransaction();
        }


        @After
        
    public void after()
        
    {
            session.close();
        }


        @Test
        
    public void testSave()
        
    {
            tx.begin();
            Person person 
    = new Person();
            person.setUsername(
    "zdw");
            person.setPassword(
    "admin");
            session.save(person);
            tx.commit();
        }

        
        @Test
        
    public void testUpdate()
        
    {
            tx.begin();
            Person person 
    = (Person) session.load(Person.class1);
            person.setPassword(
    "test");
            session.update(person);
            tx.commit();
        }

        @SuppressWarnings(
    "unchecked")
        @Test
        
    public void testQueryAll()
        
    {
            List
    <Person> persons = session.createCriteria(Person.class).list();
            assertNotNull(persons);
        }

        
        @Test
        
    public void testDelete()
        
    {
            Person person 
    = (Person) session.load(Person.class1);
            session.delete(person);
        }

    }

    經(jīng)測(cè)試,增刪改查全部正常.
    這樣的確很方便了.
    源碼可以在我的網(wǎng)盤(pán)下載. 點(diǎn)此下載

    posted on 2007-11-29 09:08 々上善若水々 閱讀(1888) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Hibernate

    主站蜘蛛池模板: 亚洲国产精品免费在线观看| 日本不卡免费新一二三区| 国产亚洲精品观看91在线| 免费又黄又爽又猛大片午夜| 日韩毛片无码永久免费看| 亚洲精品蜜夜内射| 日本免费中文字幕在线看| 在线亚洲精品视频| www亚洲精品少妇裸乳一区二区| 亚洲AV色无码乱码在线观看| 在线观看免费国产视频| sss日本免费完整版在线观看| 亚洲精品和日本精品| 两个人日本WWW免费版| 亚洲乱码中文字幕久久孕妇黑人| 光棍天堂免费手机观看在线观看| 亚洲av午夜福利精品一区人妖| 无码精品人妻一区二区三区免费看| 亚洲精品乱码久久久久66| 99re8这里有精品热视频免费| 国产AV无码专区亚洲精品| 51精品视频免费国产专区| 亚洲AV一二三区成人影片| 国产大片免费观看中文字幕| 国产精品福利在线观看免费不卡| 久久国产亚洲观看| 噼里啪啦免费观看高清动漫4| 国产精品亚洲小说专区| 亚洲精品中文字幕乱码三区| 国内精自视频品线六区免费| 久久久久久亚洲av无码蜜芽| 亚洲人成在线播放网站| 国产在线a免费观看| 免费观看四虎精品成人| 亚洲最大的成网4438| 欧洲美熟女乱又伦免费视频 | 国产AV无码专区亚洲精品| 无限动漫网在线观看免费| a高清免费毛片久久| 亚洲精品二三区伊人久久| 亚洲精品高清在线|