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

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

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

    我的漫漫程序之旅

    專注于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í)體類用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í)體類映射 -->
            
    <mapping class="com.vo.Person"/>
        
    </session-factory>
    </hibernate-configuration>    
    測(cè)試類:
    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 々上善若水々 閱讀(1893) 評(píng)論(0)  編輯  收藏 所屬分類: Hibernate

    主站蜘蛛池模板: 男人天堂2018亚洲男人天堂| av无码国产在线看免费网站| 亚洲熟妇AV乱码在线观看| 亚洲成色www久久网站夜月| 国产精品无码一区二区三区免费 | 99久9在线|免费| 男人免费视频一区二区在线观看 | 亚洲免费人成视频观看| 久久最新免费视频| 精品一区二区三区无码免费直播| 亚洲专区一路线二| 亚洲av女电影网| 亚洲中文字幕无码爆乳app| 亚洲AV午夜成人影院老师机影院| 亚洲v国产v天堂a无码久久| 免费看的一级毛片| 免费毛片在线看片免费丝瓜视频| 99re在线这里只有精品免费| 免费91最新地址永久入口| 亚洲国产av高清无码| 亚洲日本精品一区二区| 国产亚洲无线码一区二区 | 97在线免费视频| 国产中文字幕在线免费观看| 一级特黄录像免费播放中文版| 国产亚洲蜜芽精品久久| 99亚洲精品卡2卡三卡4卡2卡| 亚洲人成网站在线播放2019| 亚洲国产91在线| 精品丝袜国产自在线拍亚洲| 亚洲国产综合人成综合网站00| 78成人精品电影在线播放日韩精品电影一区亚洲| 在线A亚洲老鸭窝天堂| 久久久青草青青国产亚洲免观| 亚洲美女在线国产| 久久久久国产成人精品亚洲午夜| 国产精品亚洲综合专区片高清久久久| 亚洲色偷偷狠狠综合网| 亚洲色精品vr一区二区三区| 日韩va亚洲va欧洲va国产| 亚洲视频在线免费观看|