您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
Hibernate的CRUD以及Junit測試
作者:MRbie 發(fā)布時間:[ 2017/4/26 13:35:21 ] 推薦標簽:單元測試 Junit 單元測試工具

  1:第一步創(chuàng)建動態(tài)工程引包,省略。
  2:第二步,創(chuàng)建數據庫和數據表,省略。
  3:第三步,創(chuàng)建實體類,如User.java,源碼如下所示:
  對于實體類,一般實現構造方法,而構造方法一般實現三個:
  一個無參構造方法;
  一個有參的構造方法;
  一個不帶id的構造方法;
1 package com.bie.po;
2 /**
3 * @author BieHongLi
4 * @version 創(chuàng)建時間:2017年3月8日 下午5:17:23
5 *
6 */
7 public class User {
8
9     private int id;
10     private String name;
11     private String password;
12     private String email;
13     private String phone;
14     public int getId() {
15         return id;
16     }
17     public void setId(int id) {
18         this.id = id;
19     }
20     public String getName() {
21         return name;
22     }
23     public void setName(String name) {
24         this.name = name;
25     }
26     public String getEmail() {
27         return email;
28     }
29     public void setEmail(String email) {
30         this.email = email;
31     }
32     public String getPhone() {
33         return phone;
34     }
35     public void setPhone(String phone) {
36         this.phone = phone;
37     }
38     public String getPassword() {
39         return password;
40     }
41     public void setPassword(String password) {
42         this.password = password;
43     }
44     @Override
45     public String toString() {
46         return "User [id=" + id + ", name=" + name + ", password=" + password + ", email=" + email + ", phone=" + phone
47                 + "]";
48     }
49     public User(String name, String password, String email, String phone) {
50         super();
51         this.name = name;
52         this.password = password;
53         this.email = email;
54         this.phone = phone;
55     }
56     public User(int id, String name, String password, String email, String phone) {
57         super();
58         this.id = id;
59         this.name = name;
60         this.password = password;
61         this.email = email;
62         this.phone = phone;
63     }
64     public User() {
65         super();
66     }
67
68
69 }
  4:配置數據表和實體類之間的映射,起名如實體類.hbm.xml,源碼如下所示:
1 <?xml version="1.0"?>
2 <!DOCTYPE hibernate-mapping PUBLIC
3     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4     "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
5
6 <hibernate-mapping package="com.bie.po">
7     <!-- 操作條件:
8         1:對象與表
9         2:屬性與字段的對應
10         3:類型的對應,類型默認采用屬性的類型,type不寫的話
11      -->
12     <class name="User" table="user">
13         <!-- 主鍵,映射 -->
14         <id name="id" column="id">
15             <generator class="native"></generator>
16         </id>
17
18         <!-- 非主鍵,映射 -->
19         <property name="name" column="name"></property>
20         <property name="password" column="password"></property>
21         <property name="email" column="email"></property>
22         <property name="phone" column="phone"></property>
23
24
25     </class>
26
27 </hibernate-mapping>
  5:完成實體類和數據表之間的配置,開始配置數據庫連接和加載映射,hibernate,cfg.xml
1 <!DOCTYPE hibernate-configuration PUBLIC
2     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
3     "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
4
5 <hibernate-configuration>
6     <session-factory>
7         <!--
8             1:數據連接配置
9             2:加載所有的映射(*.hbm.xml)
10          -->
11
12          <!-- 1:數據連接配置 -->
13          <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
14          <property name="hibernate.connection.url">jdbc:mysql:///test</property>
15          <property name="hibernate.connection.username">root</property>
16          <property name="hibernate.connection.password">123456</property>
17          <!-- mysql數據庫的方言 -->
18          <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
19
20          <property name="hibernate.show_sql">true</property>
21
22          <!-- 2:加載所有的映射(*.hbm.xml) -->
23          <mapping resource="com/bie/po/User.hbm.xml"/>
24
25     </session-factory>
26 </hibernate-configuration>
  6:提取工具類HibernateUtils.java,簡化開發(fā):
1 package com.bie.utils;
2
3 import org.hibernate.Session;
4 import org.hibernate.SessionFactory;
5 import org.hibernate.cfg.Configuration;
6
7 /**
8 * @author BieHongLi
9 * @version 創(chuàng)建時間:2017年3月10日 下午1:47:55
10 * 創(chuàng)建工具類
11 */
12 public class HibernateUtils {
13
14     private static SessionFactory sf;
15     static{
16         //加載主配置文件,并且創(chuàng)建session的工廠
17         sf=new Configuration().configure().buildSessionFactory();
18     }
19
20     //創(chuàng)建session對象
21     public static Session getSession(){
22         return sf.openSession();
23     }
24 }
  7:后完成Dao層的替換,由之前使用的基本的Connection創(chuàng)建連接替換成為session創(chuàng)建連接;
  首先創(chuàng)建接口再實現接口;
  注意:
  更新的時候,索引是從0開始的,不是從1開始的,切記;
1 package com.bie.dao;
2
3 import java.util.List;
4
5 import com.bie.po.User;
6
7 /**
8 * @author BieHongLi
9 * @version 創(chuàng)建時間:2017年3月10日 下午1:35:14
10 *
11 */
12 public interface UserDao {
13
14     /***
15      * 用戶信息保存的方法
16      * @param user
17      */
18     public void insertUser(User user);
19
20
21     /***
22      * 用戶信息更改的方法
23      * @param user
24      */
25     public void updateUser(User user);
26
27
28     /***
29      * 根據用戶的編號用戶信息查詢的方法
30      * @param id
31      * @return
32      */
33     public User selectUserId(int id);
34
35
36     /**
37      * 用戶查詢所有的信息
38      * @return
39      */
40     public List<User> selectAll();
41
42     /***
43      *
44      * @param name
45      * @return
46      */
47     public List<User> selectAll(String name);
48
49     /***
50      * 分頁查詢的方法
51      * @param index
52      * @param count
53      * @return
54      */
55     public List<User> selectPage(int index,int count);
56
57     /***
58      * 刪除的方法
59      * @param id
60      */
61     public void deleteUser(int id);
62 }

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd