Struts2+Spring4+Hibernate4整合系列--(四)StepByStep4
来源:互联网 发布:ubuntu查看当前目录 编辑:程序博客网 时间:2024/05/22 01:56
第四步 hibernate整合
1.调整代码结构,增加数据库操作服务及接口
位置:
代码:
UserDao.java
package com.djl.dao;import java.util.List;import com.djl.entity.User;public interface UserDao { void add(User user); void delete(User user); void update(User user); User findByName(String username); List<User> findAll();}
HibernateDao.java
package com.djl.daoImpl;import java.util.List;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import com.djl.dao.UserDao;import com.djl.entity.User;public class HibernateDao implements UserDao { SessionFactory sessionFactory; @Override public void add(User user) { Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); session.save(user); transaction.commit(); session.close(); } @Override public void delete(User user) { } @Override public void update(User user) { } @Override public User findByName(String username) { return null; } @Override public List<User> findAll() { return null; } public SessionFactory getSessionFactory() { return sessionFactory; } public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; }}
UserStorage.java被调整为:
package com.djl.serviceImpl;import com.djl.dao.UserDao;import com.djl.entity.User;import com.djl.service.UserService;public class UserStorage implements UserService { UserDao userDao; @Override public void addUser(User user) { if(userDao != null){ userDao.add(user); } else{ System.out.println("Error: userDao is null!"); } } public UserDao getUserDao() { return userDao; } public void setUserDao(UserDao userDao) { this.userDao = userDao; }}
2.加载Hiberante的jar包到lib中。
这各部分存在不同,这里边有多个lib可以选择,因此首先引入的是应该是所有的Reqiured库。
3.编写hibernate.cfg.xml配置文件和User.hbm.xml映射文件
位置:
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> <!-- 数据库驱动名称 --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <!-- 数据库链接地址 --> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate</property> <!-- 数据库用户名称 --> <property name="hibernate.connection.username">root</property> <!-- 数据库密码 --> <property name="connection.password">12345678</property> <!-- 设置数据库连接池默认个数 --> <property name="connection.pool_size">1</property> <!-- 设置数据库SQL语言类型 --> <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property> <!-- 设置是否显示SQL语句--> <property name="show_sql">true</property> <!-- 设置是否格式化SQL语句 --> <property name="format_sql">true</property> <!-- 设置使用线程--> <property name="current_session_context_class">thread</property> <property name="hbm2ddl.auto">create</property> <!-- 设置hibernate的映射文件--> <mapping resource="com/djl/entity/User.hbm.xml"/> </session-factory></hibernate-configuration>
User.hbm.xml代码:
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Generated 2016-12-20 14:07:08 by Hibernate Tools 3.4.0.CR1 --><hibernate-mapping> <class name="com.djl.entity.User" table="USER"> <id name="uid" type="int"> <column name="UID" /> <generator class="assigned" /> </id> <property name="username" type="java.lang.String"> <column name="USERNAME" /> </property> <property name="password" type="java.lang.String"> <column name="PASSWORD" /> </property> </class></hibernate-mapping>
4.修改HibernateDao.java引入sessionFactory进行控制。
5.修改spring的容器配置文件root-context.xml实现hibernate中sessionFactory的依赖注入。
编译程序发生错误:
错误的意思是说,没有找到mysql的JDBC驱动。因此需要添加Mysql的驱动,即:mysql-connector-java-5.1.40-bin.jar
注意:mysql-connector-java-6.0.3.jar,曾经添加了这个jar包,但是出现了兼容性错误,是因为这个需要JDK1.8才可以。除此意外,还有hibernate-release-5.1.3.Final,这个版本的hibernate,也需要JDK1.8才能够实现支持。我们的环境是JDK1.7,因此配置框架,一定要注意版本信息。
0 0
- Struts2+Spring4+Hibernate4整合系列--(四)StepByStep4
- Struts2+Spring4+Hibernate4整合系列--(四)StepByStep1
- Struts2+Spring4+Hibernate4整合系列--(四)StepByStep2
- Struts2+Spring4+Hibernate4整合系列--(四)StepByStep3
- Struts2+Spring4+Hibernate4整合系列--(四)StepByStep5
- Struts2+Spring4+Hibernate4整合系列--(一) 概述
- Struts2+Spring4+Hibernate4整合系列--(二) 原理讲解
- Struts2+Spring4+Hibernate4整合系列--(三) 环境准备
- Struts2+Spring4+Hibernate4整合系列--(五)后续思考
- Struts2+Hibernate4+Spring4整合
- spring4+hibernate4+struts2整合
- Spring4 整合Hibernate4,Struts2
- J2EE系列之Spring4学习笔记(十三)--Spring4整合Struts2和Hibernate4
- J2EE系列之Spring4学习笔记(十四)--Spring4整合Struts2和Hibernate4
- struts2、spring4、hibernate4(ssh)整合案例
- struts2+hibernate4+spring4整合步骤
- Spring4MVC+Spring4+Hibernate4整合系列--(一)概述
- Spring4MVC+Spring4+Hibernate4整合系列--(二)StepByStep1
- Oracle_sql_(7)
- 用 Flask 来写个轻博客 (28) — 使用 Flask-Assets 压缩 CSS/JS 提升网页加载速度
- 从零开始做远控 第三篇
- mysql索引失效统计
- 11111111111
- Struts2+Spring4+Hibernate4整合系列--(四)StepByStep4
- js查询数组是否有重复数据
- 如何使用vue-cli生成项目
- sql server 什么是全外连接,左外连接,右外连接,它们的区别又是什么?
- Python 开发环境搭建与helloWorld 测试
- Java xml解析(DOM、SAX)
- 深入理解Java:注解(Annotation)自定义注解入门
- WCF发布到IIS
- 【LeetCode-477】Total Hamming Distance