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

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

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

    我的漫漫程序之旅

    專注于JavaWeb開發
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數據加載中……

    基于JPA的Hibernate->CRUD(簡單應用)(原創)

    數據庫用的是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');
    實體類用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 
    //標識是一個實體
    @Table(name="person"//映射表
    public class Person implements Serializable
    {
        
    //主鍵映射
        @Id
        
    //主鍵自增
        @GeneratedValue(strategy=GenerationType.AUTO)
        
    private Integer id;
        
    //@Column(name="username"),對于列,可映射也可以不映射.注意保持列名和屬性名一致就行 
        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>
            
    <!-- 實體類映射 -->
            
    <mapping class="com.vo.Person"/>
        
    </session-factory>
    </hibernate-configuration>    
    測試類:
    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);
        }

    }

    經測試,增刪改查全部正常.
    這樣的確很方便了.
    源碼可以在我的網盤下載. 點此下載

    posted on 2007-11-29 09:08 々上善若水々 閱讀(1890) 評論(0)  編輯  收藏 所屬分類: Hibernate

    主站蜘蛛池模板: a毛片在线看片免费| 最新亚洲成av人免费看| 18禁止观看免费私人影院| 男人天堂免费视频| 亚洲AV无码久久| 日本卡1卡2卡三卡免费| 亚洲精品乱码久久久久久蜜桃不卡| 成人免费乱码大片A毛片| 老司机亚洲精品影视www| a国产成人免费视频| 亚洲视频在线免费观看| 30岁的女人韩剧免费观看| 国产成人精品日本亚洲直接| 毛片大全免费观看| 久久亚洲精品高潮综合色a片| 免费一级黄色毛片| 香蕉免费一级视频在线观看| 亚洲AV无码一区二区二三区软件 | 亚洲综合伊人久久综合| 国内精品免费久久影院| 中文字幕亚洲免费无线观看日本| 国产香蕉免费精品视频| 蜜芽亚洲av无码一区二区三区| 日韩精品免费一区二区三区| 日韩在线一区二区三区免费视频| 亚洲精品乱码久久久久久久久久久久| 久久大香伊焦在人线免费| 亚洲毛片免费观看| 四虎免费永久在线播放| 久久精品国产免费| 亚洲中文字幕日本无线码| 国产无遮挡色视频免费视频| 国产又黄又爽又大的免费视频| 亚洲美女中文字幕| 国产成人无码区免费A∨视频网站| 五月天婷婷免费视频| 久久亚洲私人国产精品vA| 在线看片无码永久免费aⅴ | 国产无限免费观看黄网站| 亚洲精品视频免费在线观看| 国产一级大片免费看|