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 }