JSP利用Hibernate实现对数据库的CRUD ——开发环境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中添加如下代码:
<%@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”,代码如下:
<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>
十五、建立servlet“StudentAdd.java”,使用函数“doPost()”代码如下:
request.setCharacterEncoding("UTF-8");
String strID = "";
String strName = "";
strID = request.getParameter("ID"); //获取ID
strName = request.getParameter("Name"); //获取Name
Session ss = HibernateSessionFactory.getSession();
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”,代码如下:
<%@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>
十七、建立servlet“StudentEdit.java”,使用函数“doPost()”,代码如下:
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");
十八、建立servle“StudentDelete.java”,使用函数“doGet()”,代码如下:
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");
十九、运行结果截图:






JSP利用Hibernate实现对数据库的CRUD ——开发环境Myeclipse与SQL Server 2008的更多相关文章
- 使用MyEclipse中servlet对SQL Server 2008的CRUD
1.在MyEclipse下建立Web Project,找到根目录建立Database文件夹和Doc文件夹,Database用于保存数据库信息,Doc用于保存数据库表信息. 2.打开SQL Server ...
- 配置MyEclipse+Hibernate连接Sql Server 2008出错
下文主要是讲述最近配置MyEclipse连接Sql Server 2008时遇到的一个问题,而不关注如何配置Sql Server 2008支持TCP/IP连接.Hibernate如何操作Sql Ser ...
- [转]实战 SQL Server 2008 数据库误删除数据的恢复
实战 SQL Server 2008 数据库误删除数据的恢复 关键字:SQL Server 2008, recover deleted records 今天有个朋友很着急地打电话给我,他用delete ...
- 小程序原理,生成SQL SERVER 2008 数据库所有表的结构文档
作者:wide288 , 日期:2013-7-31 以前开发中,用 MYSQL 数据库,有个小程序 生成数据库结构文档.很方便,做为开发组的文档很有用. 现在开发中用到了 SQL SERVER 200 ...
- [转]在 SQL Server 2008 中新建用户登录并指定该用户的数据库
提要:我在 SQL Server 中新建用户登录时,出现了三种错误,错误代码分别是 18456.15128.4064 ----------------------------------- 正 文 ...
- 数据库备份和恢复秩序的关系(周围环境:Microsoft SQL Server 2008 R2)
让我们来看看在备份序列新手 --1.塔建环境(生成测试数据和备份文件) /* 測试环境: Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) ...
- 基于Sql Server 2008的分布式数据库的实践(一)
原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选 ...
- 【转载】SQL Server 2008 中新建用户登录并指定该用户的数据库
提要:我在 SQL Server 中新建用户登录时,出现了三种错误,错误代码分别是 18456.15128.4064 ----------------------------------- 正 文 ...
- 【数据库】Sql Server 2008完全卸载方法(其他版本类似)
本文介绍如何卸载 Microsoft SQL Server 2008的方法.当您按照本文中的步骤时,您还准备系统以便可以重新安装 SQL Server 2008版本 一. SQL2008卸载. ...
随机推荐
- [大数据之Sqoop] —— Sqoop初探
Sqoop是一款用于把关系型数据库中的数据导入到hdfs中或者hive中的工具,当然也支持把数据从hdfs或者hive导入到关系型数据库中. Sqoop也是基于Mapreduce来做的数据导入. 关于 ...
- 程序中保存状态的方式之Cookies
程序中保存状态的方式之 Cookies,之前写过一篇关于ViewState的.现在继续总结Cookies方式的 新建的测试页面login <%@ Page Language="C#&q ...
- CSS3新特性,绘制常见图形
前言:最近准备做一个自己的网页,设计稿中导航我准备设计成矩形,也有hover样式展示的矩形,当中一些头像等等.以前除了画圆,好像真没认真画过其他图形,今天就画画我们常见到的几个图形. 在此之前我们有必 ...
- android studio和eclipse中如何获取sha1值
首先如果是eclipse的话, 直接打开eclipse开发工具 那么接下来问题来了,现在很多开发者都已经从es转型到as开发工具了, 在android studio上没有直接提供这个GUI界面让我们去 ...
- Security5:Execute AS 和 impersonate 权限
principal 是统称,包括login,user,role等,可以向作为安全主体的用户授予权限,principal分为server level和database level. 登录名是Server ...
- Kali信息收集系列:(都是我以前的笔记整理了一下,就没加水印,习惯就好)
好几天没发微信公众号了,今天一起发下.(最近有点事情) 前些天老业界的一位朋友问我一些Safe新时代信息收集的问题 逆天虽然好多年不干老本行,但隔段时间都会关注一下 于是就花了点时间整理了一下,你们就 ...
- SQL 截取字符串
以下代码演示的是除去字符串后四位 ,) 下面是SUBSTRING的解释 SUBSTRING ( expression ,start , length ) 第一个参数是字符串,第二个是起始位置,第三个是 ...
- JSONP详解
0.关于JSONP 什么的JSONP JSONP(JSON with Padding)是资料格式 JSON 的一种“使用模式”,可以让网页从别的网域要资料.另一个解决这个问题的新方法是跨来源资源共享. ...
- 数据可视化-EChart2.0.0使用中遇到的2个问题
之前项目中都是使用FusionChart和HighChart,基本都是没有购买商业许可.然后现在开发的系统需要交付给客户使用.所以现在图表控件不能直接使用FusionChart和HighChart,通 ...
- 45 个非常有用的 Oracle 查询语句
这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 Oracle 开发者都必备的技能,所以快 ...