Hibernate环境搭建+struts整合

简介: 说明:本文档,是和struts2+hibernate的整合示例。 lib下还有struts2的jar包,本示例没有显示。struts2的搭建参考struts2的环境搭建 一下载hibernate的jar包,并将相关jar包导入的项目web-inf的lib下 少了一个jar包,报错 二:配置hibernate.

说明:本文档,是和struts2+hibernate的整合示例。

lib下还有struts2的jar包,本示例没有显示。struts2的搭建参考struts2的环境搭建

一下载hibernate的jar包,并将相关jar包导入的项目web-inf的lib下

少了一个jar包,报错

二:配置hibernate.cfg.xml文档

 1 <!DOCTYPE hibernate-configuration PUBLIC
 2     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 3     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 4 
 5 <hibernate-configuration>
 6     <session-factory >
 7         <!-- 全局开发配置 -->
 8         
 9             <!-- hibernate 会自动生成sql。  为了能够屏蔽 数据库的差异。  需要配置  数据库方言-->
10              <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
11              
12              <!-- 如果数据库中无相应的表的话,则自动生成一个与po对应的表  -->
13              <property name="hibernate.hbm2ddl.auto">update</property>
14             
15              <!-- 在服务器后台打印出hibernate映射的sql语句 -->
16              <property name="hibernate.show_sql" >true</property>
17              <!-- sql语句格式化输出 -->
18              <property name="format_sql">true</property>
19         
20         
21         <!-- 数据库连接信息 -->
22         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
23         <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
24         <property name="hibernate.connection.username">root</property>
25         <property name="hibernate.connection.password">1234</property>
26         
27         
28         
29         <!-- java和数据的桥梁,映射java的实体类和数据库中的表 -->
30         <mapping resource="com/bjsxt/shangxiaofei/po/User.hbm.xml"></mapping>
31         
32     </session-factory>
33 </hibernate-configuration>
View Code

三:配置实体类User.hbm.xml文档作为映射桥梁

 1 <?xml version="1.0"?>
 2 <!DOCTYPE hibernate-mapping PUBLIC 
 3     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 4     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 5 <hibernate-mapping 
 6     package="com.bjsxt.shangxiaofei.po"><!-- 实体类包名 -->
 7 
 8     <class name="User" table="t_user">
 9         
10         
11         <!-- 主键递增 -->
12         <id name="id" column="id">
13             <generator class="native"></generator>
14         </id>
15         
16         <!-- 实体类中的属性名name映射成数据库表中的字段名column -->
17         <property name="uname" column="uname"></property>
18         <property name="pwd" column="pwd"></property>
19         <property name="sex" column="sex"></property>
20         
21     </class>
22     
23 </hibernate-mapping>
View Code

四:编写sessionFactoryUtil工具类,用来加工session

 1 package com.bjsxt.shangxiaofei.util;
 2 
 3 
 4 
 5 import org.hibernate.Session;
 6 import org.hibernate.SessionFactory;
 7 import org.hibernate.cfg.Configuration;
 8 
 9 public class SessionFactoryUtil {
10     //session工厂
11     private static SessionFactory sessionFactory;
12     
13     /**
14      * 静态初始块,用来初始化类的静态属性
15      */
16     static{
17         //将hibernate.cfg.xml文档读入内存中
18         Configuration configuration=new Configuration();
19         configuration.configure();
20         
21         //初始化sessionFactory
22         sessionFactory=configuration.buildSessionFactory();
23     }
24 
25     //hibernate的session工厂
26     public static SessionFactory getSessionFactory(){
27         return sessionFactory;
28     }
29     
30     //hibernate的Session
31     public static Session getSession(){
32         return sessionFactory.openSession();
33     }
34     
35     public static void main(String[] args) {
36         //可以通过运行此main方法,测试环境是否搭建好
37     }
38 }
View Code

五:测试,往数据库中插入一条数据

 1 package com.bjsxt.shangxiaofei.dao;
 2 
 3 import org.hibernate.Session;
 4 import org.hibernate.SessionFactory;
 5 
 6 import com.bjsxt.shangxiaofei.po.User;
 7 import com.bjsxt.shangxiaofei.util.SessionFactoryUtil;
 8 
 9 public class UserDao {
10     public void addUser(){
11         //获取java连接数据库的session对象,对jdbc的封装
12         Session session=SessionFactoryUtil.getSession();
13         //事务的开启
14         session.beginTransaction();
15         
16         User user=new User();
17         user.setUname("dsfasdsafsdaadf");
18         user.setPwd("1sdafdf5");
19         user.setSex("1");
20         
21         //往数据库中保存一个user
22         session.save(user);
23         //提交事务
24         session.getTransaction().commit();
25         
26     }
27     public static void main(String[] args) {
28         //测试
29         UserDao userDao=new UserDao();
30         userDao.addUser();
31     }
32 }
View Code

 

相关文章
|
7月前
|
JavaScript 前端开发 Java
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Jsp页面
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Jsp页面
|
7月前
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——OpSessionview实现
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——OpSessionview实现
|
7月前
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——EmpDao层代码
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——EmpDao层代码
|
7月前
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Dept实体类和对应的配置信息
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Dept实体类和对应的配置信息
|
7月前
|
Java
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Action的实现类
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Action的实现类
|
7月前
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——工具类
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——工具类
|
7月前
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——DeptDao层代码
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——DeptDao层代码
|
7月前
|
XML Java 数据库连接
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
|
7月前
|
JavaScript Java 数据库连接
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Emp实体类和对应的配置信息
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Emp实体类和对应的配置信息
|
Java 数据库连接 数据库
JAVA三大框架Struts、hibernate和spring的各自作用是什么?
JAVA三大框架Struts、hibernate和spring的各自作用是什么?
79 0