eclipse中SSH三大框架环境搭建<三>
相关链接:
eclipse中SSH三大框架环境搭建<一>
eclipse中SSH三大框架环境搭建<二>
引言:通过上两篇文章我们已经可以掌握struts2和spring的环境的搭建以及简单使用,但是在访问数据库层面使用的是传统的JDBC。在我们项目开发中使用JDBC确实是不太理想的,所以今天我给大家来讲解一下目前行业中比较流行的持久层框架——hibernate。
第1步:我们依旧需要引入hibernate的jar包
找到hibernate解压好的文件目录,在该目录下的lib目录下有一个required目录,将该目录下的所有jar包引入到我们项目的lib目录下。

第2步:我们又要和配置文件打交道了,首先我们要配置一个在src目录下的一个实体映射文件entityname.hbm.xml。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="entity.BookCard" table="BookCard">
<id name="cid" column="cid"></id>
<property name="name" column="name" type="string" length="50" not-null="true"></property>
<property name="sex" column="sex"></property>
<property name="cardDate" column="cardDate"></property>
<property name="deposit" column="deposit"></property>
</class>
</hibernate-mapping>
解析:1>头信息就不多说了,首先写好一个hibernate-mapping首尾标记,在标记内映射我们相对应的实体类。
2>在class标记的name属性的值对应我们的实体类(全路径),table属性对应我们在数据库的表名
3>id标记为我们数据库的主键配置相关信息,同理name属性中的属性值为我们实体类对象的属性,column为数据库对应表的字段。
4>property标记中type属性为该属性对应的java数据类型,length为数据库中指定长度这里相当于varchar(50),not-null属性为指定该字段是否可以为空,默认可以为空。
第3步:依旧是写配置文件,配置连接数据库相关信息的hibernate.cfg.xml文件
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration>
<session-factory name="foo">
<!-- 配置mySql连接参数 -->
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="connection.pool_size">5</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">update</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/CardDB</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property> <mapping resource="BookCard.hbm.xml"/>
</session-factory> </hibernate-configuration>
解析:1>配置一个hibernate-configuration首尾标记,在其内部插入session-factory首尾标记。
2>在property标记中name属性中指定dialect属性值配置数据库方言(数据库不同以及版本不同方言也不同,查阅相关资料可知)
3>在property标记中name属性中指定connection.pool属性值配置连接池大小(依据访问频率配置)
4>在property标记中name属性中指定show_sql属性值配置是否显示sql语句在控制台(开发过程中建议为true,易于调试)
5>在property标记中name属性中指定format_sql属性值配置sql语句是否需要格式化(废话,当然要)
* 6>在property标记中name属性中指定hbm2ddl.auto属性值配置创表信息。值为update时,若数据库没有我们实体对应的表将自动为我们创建,若存在则会更新我的表。 值为create时,每次执行时会先查找数据库是否存在这张表存在即先删除在创建,不存在即直接创建。
7>连接数据库的驱动以及制定数据库URL,用户名和密码相信大家都懂,我就不一一介绍了。
* 8>我们的这份文件还需映射一个资源便是我们的实体映射文件,在mapping标记中指定。
第4步:配置完以上文件才是我们hibernate真正为我们服务的时候了,编写我们的dao来操作数据库了。
public class BookCardDaoImpl implements BookCardDao {
@Override
public List<BookCard> getAllCardInfo() {
//sessionFactory这个实例可以自己按常规的hibernate传统写法创建(不建议)
//可以交给spring去托管
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
//后面当使用JPA的时候,EntityManager 类似于 Session
Query query = session.createQuery("from BookCard");
//这2行代码,后期会交给spring的AOP帮忙处理
List<BookCard> list = query.getResultList();
session.close();
sessionFactory.close();
return list;
}
}
解析:通过上面的代码我们可以明显看出hibernate的实用性,我们的程序员再也不用写获取连接,获取sql语句的执行对象等等,以及在代码中我们都不需要关心该项目使用的是哪一个数据库了,如此一来大大提高了我们的工作效率。

页面中的数据已经成功显示

控制台中执行的hibernate的sql语句也正常显示出来了。
eclipse中SSH三大框架环境搭建<三>的更多相关文章
- eclipse中SSH三大框架环境搭建<二>
通过上一篇博客我们可以轻松搭建strtus2的环境,接下来由我来继续介绍spring的环境搭建以及spring注入的简单使用 相关链接:eclipse中SSH三大k框架环境搭建<一> ec ...
- eclipse中SSH三大框架环境搭建<一>
这里先简单介绍一下我用的三大框架版本以及下载地址 相关链接:eclipse中SSH三大框架环境搭建<二> eclipse中SSH三大框架环境搭建<三> struts-2.3.3 ...
- SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
原文地址:http://blog.csdn.net/kyle0349/article/details/51751913 尊重原创,请访问原文地址 SSH说的上是javaweb经典框架,不能说100% ...
- SSH三大框架的搭建整合(struts2+spring+hibernate)
本文转载自:https://blog.csdn.net/kyle0349/article/details/51751913
- SSH三大框架合辑的搭建步骤
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- SSH三大框架整合案例
SSH三大框架的整合 SSH三个框架的知识点 一.Hibernate框架 1. Hibernate的核心配置文件 1.1 数据库信息.连接池配置 1.2 Hibernate信息 1.3 映射配置 ...
- SSH三大框架的整合
SSH三个框架的知识点 一.Hibernate框架 1. Hibernate的核心配置文件 1.1 数据库信息.连接池配置 1.2 Hibernate信息 1.3 映射配置 1.4 Hibernate ...
- Maven SSH三大框架整合的加载流程
<Maven精品教程视频\day02视频\03ssh配置文件加载过程.avi;> 此课程中讲 SSH三大框架整合的加载流程,还可以,初步接触的朋友可以听一听. < \day02视频\ ...
- SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)
1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee.com/niceyoo/jeenotes-ssm 2. 概述 在写代码之前我们先了解一下 ...
随机推荐
- Linux 多线程可重入函数
Reentrant和Thread-safe 在单线程程序中,整个程序都是顺序执行的,一个函数在同一时刻只能被一个函数调用,但在多线程中,由于并发性,一个函数可能同时被多个函数调用,此时这个函数就成了临 ...
- JS中误用/g导致的正则test()无法正确重复执行
一个简单的利用正则判断输入是否为数字: input1 = '0281234567';input2 = '0282345678';var reg = /^\d+$/g; reg.test(input1) ...
- hadoop从非HA转到NAMENODE HA时需要注意的一个问题
配置core-site.xml 配置hdfs-site.xml 配置mapred-site.xml 配置yarn-site.xml 纷发至其他节点 修改RM 2 ..N 上面的节点信息 格式化ZK h ...
- C#学习笔记-Windows窗体自定义初始位置
根据屏幕大小定义初始位置: (这个不是难,但是最近常常忘记,记着方便查看.) //获取当前屏幕的长和宽 int ScreenX = Screen.PrimaryScreen.Bounds.Width; ...
- Shell基础学习小结
0 shell基础概念 Shell是解释性语言,使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象:缺点是它们的效率通常不如编译型语言.Shell命令有本 ...
- c++学习之容器细枝末节(2)
从昨天到现在,还依然停留在容器的学习上,现在写例程代码顺手多了,看来写代码还是要多多练习才能有感觉. 经过一天的学习,有一下几点知识点让我觉得很有意义: (1)删除容器中的元素的时候,pop_fron ...
- 不同材质怎么通过ZBrush赋予同一个模型上
ZBrush 作为最专业的数字雕刻与绘画软件,能够制作出高质量的3D模型,包括模型的颜色贴图和材质属性.不同材质可以改变照明在表面上的反应,以便模型表现出光泽.凹凸.反射.金属性或透明效果.ZBrus ...
- Freemarker与Servlet
1.导入jar包(freemarker.jar) 2.web.xml配置一个普通servlet <servlet> <servlet-name>hello</servle ...
- Java 线程同步
线程同步 1.线程同步的目的是为了保护多个线程访问一个资源时对资源的破坏. 2.线程同步方法是通过锁来实现,每个对象都有切仅有一个锁,这个锁与一个特定的对象关联,线程一旦获取了对象锁,其他访问该对象的 ...
- 自定义框架(MyMvc)
//初次接触自定义框架,简单的登录功能的实现流程:: 当我们实现登录功能的时候,首先会创建一个login.jsp 会写这些登录表单 <form action="loginAction. ...