俗话说:"好记性不如烂笔头"。本人学习Hibernate也有一个星期了,对Hibernate也有一个初步的了解。下面对Hibernate显示数据做个笔记,使用租房系统的Hibernate+jsp+selvect。

第一步:编写房屋实体类

/*
* 房屋实体类
*/ public class House {
private int id;//房屋id
private String title;//标题
private String description;//描述
private String fdate;//日期
private String price;//价格
private String contact;//面积 //省略get和set方法
}

第二步:配置House.hbm.xml映射

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping
package="entity"> <class name="House" table="House">
<id name="id">
<generator class="increment"/>
</id> <property name="title" />
<property name="description" />
<property name="fdate" />
<property name="price" />
<property name="contact" /> </class> </hibernate-mapping>

第三步:配置hibernate.cfg.xml数据库映射(别忘了导入hibernate必备的架包)

<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration>
<session-factory name="foo">
<!-- 数据库方言 -->
<property name="dialect">
org.hibernate.dialect.OracleDialect
</property>
<!-- 连接数据库Url -->
<property name="hibernate.connection.url">
jdbc:oracle:thin:@localhost:1521:orcl
</property>
<!-- 连接驱动 -->
<property name="hibernate.connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<!-- 用户名 -->
<property name="hibernate.connection.username">epet</property>
<!-- 密码 -->
<property name="hibernate.connection.password">123456</property> <!-- 在控制台打印sql信息 -->
<property name="show_sql">true</property>
<!-- 创建表结构 -->
<property name="hibernate.hbm2ddl.auto">update</property> <!-- 配置映射信息 --> <mapping resource="entity/House.hbm.xml" /> </session-factory>
</hibernate-configuration>

第四步:编写dao层和daoImpl层

/*
* 查询所有房屋
*/
public interface HouseDao {
/*
* 查询所有房屋
*/
public List<House> selecthouse(); }
public class HouseDaoImpl implements HouseDao{

/*
* 查询所有房屋
*
* (non-Javadoc)
* @see Dao.HouseDao#selecthouse()
*/
public List<House> selecthouse() {
// TODO Auto-generated method stub
Session session = HibernateUtil.getSession(); //查询房屋实体类
String hql="from House";
Query q=session.createQuery(hql); List<House> list = q.list(); return list; }
}
注意:Hibernate查询的实体,而不是数据库表

第五步:编写Selvect和web.xml配置

package selvect;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import entity.House; import Biz.HouseBiz;
import Biz.Impl.HouseBizImpl; public class SelectAllServlet extends HttpServlet { /**
* Destruction of the servlet. <br>
*/
public void destroy() {
System.out.println("销毁select");
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
// response.setContentType("text/html");
// PrintWriter out = response.getWriter();
// out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
// out.println("<HTML>");
// out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
// out.println(" <BODY>");
// out.print(" This is ");
// out.print(this.getClass());
// out.println(", using the GET method");
// out.println(" </BODY>");
// out.println("</HTML>");
// out.flush();
// out.close();
} /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { HouseBiz mb=new HouseBizImpl(); List<House> li=mb.selecthouse();
request.getSession().setAttribute("li", li);
response.sendRedirect("list.jsp"); //request.getRequestDispatcher("index.jsp").forward(request, response);
} /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
System.out.println("初始化servlet");
} }
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!--查询房屋-->
<servlet>
<servlet-name>SelectAllServlet</servlet-name>
<servlet-class>selvect.SelectAllServlet</servlet-class>
</servlet> <!-- 映射servlet -->
<servlet-mapping>
<servlet-name>SelectAllServlet</servlet-name>
<url-pattern>/SelectAllServlet</url-pattern>
</servlet-mapping> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

在jsp页面显示

        <LI class=bold>房屋信息</LI>
<c:forEach var="mind" items="${sessionScope.li}">
<TR>
<TD class=house-thumb><span><A href="details.htm" target="_blank"><img src="data:images/thumb_house.gif" width="100" height="75" alt=""></a></span></TD>
<TD> <DL>
<!--标题,价格-->
<DT><A href="houseid?id=${mind.id}" target="_blank">${mind.title}</A></DT> <TD class=house-price><SPAN>${mind.price}</SPAN>元/月</TD></TR> </c:forEach>

Java_Web三大框架之Hibernate+jsp+selvect+HQL查询数据的更多相关文章

  1. Java_Web三大框架之Hibernate+jsp+selvect+HQL注册用户

    Hibernate比SQL语句简单多了,代码冗余少,切方便简洁明了.下面用Hibernate+jsp+selvect+HQL来实现注册用户. 第一步:编写用户实体类和Users2.hbm.xml映射. ...

  2. Java_Web三大框架之Hibernate+jsp+selvect+HQL登入验证

    刚开始接触Hibernate有些举手无措,觉得配置信息太多.经过一个星期的适应,Hibernate比sql简单方便多了.下面做一下Hibernate+jsp+selvect+HQL登入验证. 第一步: ...

  3. Java_Web三大框架之Hibernate+jsp+HQL分页查询

    分页查询无处不在.使用Hibernate+jsp+HQL进行分页查询. 第一步:编写房屋实体类和House.hbm.xml映射. /* * 房屋实体类 */ public class House { ...

  4. Java_Web三大框架之Hibernate+HQL语言基础

    12.1 HQL语言基础Hibernate查询语言为HQL(Hibernate Query Language),可以直接使用实体类名及属性.HQL语法类似于SQL,有SQL的关键词如select.fr ...

  5. Java_Web三大框架之Hibernate增删改查

    下面介绍一下Hibernate的增删改查. 第一步:编写用户实体类以及User.hbm.xml映射 package com.msl.entity; public class User { privat ...

  6. Java_Web三大框架之Hibernate 入门(一)

    一.Hibernate简介: Hibernate作者——Gavin King Hibernate创始人 < Hibernate in action >作者 EJB 3.0的Entity b ...

  7. Java_Web三大框架之Hibernate操作数据库(三)

    使用Hibernate操作数据库需要七个步骤: (1)读取并解析配置文件 Configuration conf = newConfiguration().configure(); (2)读取并解析映射 ...

  8. Java_Web三大框架之Hibernate配置文件(二)

    下面介绍一下编写Hibernate的配置文件,使用Hibernate操作数据库. 开始部署:下载需要的jar包               下载Hibernate           Hibernat ...

  9. Java三大框架之——Hibernate中的三种数据持久状态和缓存机制

    Hibernate中的三种状态   瞬时状态:刚创建的对象还没有被Session持久化.缓存中不存在这个对象的数据并且数据库中没有这个对象对应的数据为瞬时状态这个时候是没有OID. 持久状态:对象经过 ...

随机推荐

  1. Eddy's mistakes

    Problem Description Eddy usually writes  articles ,but he likes mixing the English letter uses, for ...

  2. HDU——1133 Buy the Ticket

    Buy the Ticket Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T ...

  3. laravel5.5更新到laravel5.7

    为什么要更新呢?因为项目用的第三方后台扩展包,有很些bug,不够完美.想要一个漂亮的后台,那个后台只支持5.7. 然后,我就开始更新框架了. 修改后:"php": "&g ...

  4. HDU1026 Ignatius and the Princess I 【BFS】+【路径记录】

    Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  5. Material-design icon生成插件

    在使用android studio开发android应用的过程.会遇到一些非常不错的插件,当中android-material-design-icon-generator-plugin 是一个Mate ...

  6. Win7 系统管理员设置了系统策略_禁止进行此安装_怎么办

    系统管理员设置了系统策略,禁止进行此安装,怎么办 最佳答案 尝试方法一:   windows开始菜单,运行里面输入gpedit.msc打开组策略,   在"计算机配置"→管理模板→ ...

  7. addSubview和insertSubview 区别

     子视图是以栈的方式存放的. 每次addsubview时都是在最后面添加. 每次在addsubview前和addsubview后可以看看[self.view.subViews count]: 你看看你 ...

  8. 【C语言】不使用大小于号,求出两数最大值

    //不使用大小于号,求出两数最大值 #include <stdio.h> #include <math.h> double Max(double a, double b) { ...

  9. CountDownTimer完整具体演示样例

    MainActivity例如以下: package cc.cv; import android.os.Bundle; import android.os.CountDownTimer; import ...

  10. 乐视云监控数据存放到influxdb中

    3.9     监控.告警系统 监控报警我们分PaaS平台和业务应用两大类. PaaS平台主要聚焦在基础设施和LeEngine的各个服务组件的监控报警(比如主机CPU,内存,IO,磁盘空间,LeEng ...