Hibernate配置Myeclipse與SQL Server 2008鏈接

一、首先先建立一個Web Project

二、然後在程序根目錄建立文件夾“DataBase”和“Doc”,分別存放數據庫文件和保存SQL語句,建完如下所示:

 

三、建立數據庫“dbHibernate”,保存到文件夾“DataBase”下

四、書寫SQL語句,創建“student”表

-- 數據庫名稱  dbHibernate

-- 版本        SQLServer2008

 

--學生表

create table student(

   ID varchar(10) primary key,

   Name varchar(20) not null,

)

 

--插入數據

insert into student values('101','張三');

insert into student values('102','李四');

insert into student values('103','王五');

五、打開“DB Browser”後,右擊選擇“New...”,Driver template選擇“Microsoft SQL Server”,Driver name爲“Hibernate”,Connection URL爲“jdbc:sqlserver://localhost:1433; DatabaseName=dbHibernate”,然後就是數據庫的User name以及Password;還要添加“sqljdbc4.jar”驅動包,點擊“Test Driver”,可以看到測試成功

 

六、然後點擊“Next”,選擇“Display the selected schemas”,點擊“Add”添加數據庫“dbHibernate”,最後“Finish”。

 

七、右擊項目“Hibernate”->Myeclipse->Add Hibernate Capabilities...,然後默認點擊“Next

 

八、選擇“Browse”,添加自己建立的包名,然後“Next”後,選擇“DB Driver”下的“Hibernate”,下面的內容將自動調出。然後“Next”,選擇“Java package”

九、建完後,在包“com.langguojie.Hibernate”下添加了“HibernateSessionFactory.java”以及“hibernate.cfg.xml”兩個文件

 

十、在“DB Browser”下,選擇“Hibernate”->“Open connection”->Connected to Hibernate->dbo->TABLE->student,右擊選擇“Hibernate Reverse Engineering

 

十一、選擇 Java package:“com.langguojie.Hibernate.orm”,然後選擇如下圖所示內容,點擊“Finish”即可。

 

十二、在包“com.langguojie.Hibernate.orm”下添加了“Student.java”和“Student.hbm.xml”兩個文件

 

十三、在index.jsp中添加如下代碼:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<%@page import="com.langguojie.Hibernate.orm.Student"%>
<%@page import="org.hibernate.Query"%>
<%@page import="com.langguojie.Hibernate.HibernateSessionFactory"%>
<%@page import="org.hibernate.Session"%>
<center>
          學生管理<br>
          <br>
          <a href="StudentAdd.html">添加</a><br>
          <br>
          <table border="1" cellspacing="0" cellpadding="4">
          <%
              Session ss = HibernateSessionFactory.getSession();  //建立Session對象ss      
              ss.beginTransaction();                              //打開Transaction
     
              Query query=ss.createQuery("from Student");         //調用函數Query查詢
                 
              List<Student>studentList = new ArrayList<Student>();  //將查詢的結果放到List表中
              studentList = query.list(); 
              for(int i = 0 ;i < studentList.size();i++){
           %>
 
          <tr>
            <td><%=studentList.get(i).getId()%></td>      <!--  輸出ID -->
            <td><%=studentList.get(i).getName()%></td>    <!--  輸出姓名 -->
            <td><a href='StudentEdit.jsp?ID=<%=studentList.get(i).getId()%>'>修改</a>
            </td>
            <td><a href='servlet/StudentDelete.do?ID=<%=studentList.get(i).getId()%>'>刪除</a>
            </td>
         </tr>
 
         <%
            }
            ss.close();       //關閉Transaction
         %>
         </table>
</center>

 

十四、建立添加頁面“StudentAdd.html,代碼如下:

 

1
2
3
4
5
6
<form id="form1" name="form1" method="post"action="servlet/StudentAdd.do">
      <center>添加<br><br>
      學號:<input type="text" id="ID" name="ID"><br><br>
      姓名:<input type="text" id="Name" name="Name" ><br><br>
      <input type="submit" value="確定"></center>
</form>

 

十五、建立servletStudentAdd.java,使用函數“doPost()”代碼如下:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
request.setCharacterEncoding("UTF-8");
String strID = "";
String strName = "";
         
strID = request.getParameter("ID");         //獲取ID
strName = request.getParameter("Name");     //獲取Name
         
Session ss = HibernateSessionFactory.getSession();<br>ss.beginTransaction();
Student s = new Student();
s.setId(strID);
s.setName(strName);
ss.save(s);                //保存數據
ss.getTransaction().commit(); //提交數據
ss.close();
         
response.sendRedirect("../index.jsp");

 

十六、建立編輯頁面“StudentEdit.jsp”,代碼如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<%@page import="com.langguojie.Hibernate.orm.Student"%>
<%@page import="com.langguojie.Hibernate.HibernateSessionFactory"%>
<%@page import="org.hibernate.Session"%>
<%
       request.setCharacterEncoding("UTF-8");
       String strID="";
        
       strID = request.getParameter("ID");
        
       Session ss = HibernateSessionFactory.getSession();
       ss.beginTransaction();
       Student student = (Student)ss.get(Student.class, strID);
              
       ss.getTransaction().commit();
       ss.close();
     %>
  <center>
 
     <%if(student != null){ %>
     
     <br><br>編輯學生信息<br>
     <form name="f1" id="f1" action="servlet/StudentEdit.do" method="post">
      <table border="0">
        <tr>
          <td>學號:</td>
          <td><input type="text" readonly="readonly" name="ID" id="ID" value="<%=student.getId() %>"> 學號不允許編輯</td>
        </tr>
         
        <tr>
          <td>姓名:</td>
          <td><input type="text" name="Name" id="Name" value="<%=student.getName() %>"></td>
        </tr>
          
        <tr>
          <td colspan="2" align="center"><input type="submit" value=" 確定 " ></td>
        </tr>
         
      </table>
     </form>
     <%} else { %>
     <br><br>編輯學生信息<br><br>
     學號爲<%=strID %>的學生數據在數據庫中不存在!<br><br>
     <a href="index.jsp">返回</a>
     <%} %>
  </center>

十七、建立servletStudentEdit.java”,使用函數“doPost()”,代碼如下:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
request.setCharacterEncoding("utf-8");
String strID = "";
String strName = "";
         
strID = request.getParameter("ID");
strName = request.getParameter("Name");
         
Session session = HibernateSessionFactory.getSession();
session.beginTransaction();
Student student = (Student)session.load(Student.class, strID);
student.setName(strName);
         
session.update(student);
         
session.getTransaction().commit();
session.close();
         
response.sendRedirect("../index.jsp");

 

十八、建立servleStudentDelete.java”,使用函數“doGet()”,代碼如下:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
request.setCharacterEncoding("UTF-8");
String strID="";
     
strID = request.getParameter("ID");
 
Session ss = HibernateSessionFactory.getSession();
ss.beginTransaction();
         
Student student = (Student)ss.load(Student.class, strID);
ss.delete(student);
         
ss.getTransaction().commit();
ss.close();
         
response.sendRedirect("../index.jsp");

 

十九、運行結果截圖:

發佈了64 篇原創文章 · 獲贊 6 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章