一、创建dao层

  (1)创建接口ICommonDao.java

package com.cppdy.ssh.dao;

public interface ICommonDao<T> {
public void save(T entity);
}

ICommonDao.java

  (2)创建实现类CommonDaoImpl.java,实现ICommonDao.java接口、继承HibernateDaoSupport类(spring集成hibernate对数据库的增删改查)

package com.cppdy.ssh.dao.impl;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.cppdy.ssh.dao.ICommonDao;

public class CommonDaoImpl<T> extends HibernateDaoSupport implements ICommonDao<T> {

    /**
* @Name: save
* @Description: 保存对象的方法
* @Parameters: T entity 对象
* @Return: 无
*/
public void save(T entity) {
this.getHibernateTemplate().save(entity);
} }

CommonDaoImpl.java

  (3)创建接口IElecTextDao.java

package com.cppdy.ssh.dao;

import com.cppdy.ssh.domain.ElecText;

public interface IElecTextDao extends ICommonDao<ElecText> {

}

IElecTextDao.java

  (4)创建实现类ElecTextDaoImpl.java,实现IElecTextDao.java接口、继承实现类CommonDaoImpl.java

package com.cppdy.ssh.dao.impl;

import com.cppdy.ssh.dao.IElecTextDao;
import com.cppdy.ssh.domain.ElecText; public class ElecTextDaoImpl extends CommonDaoImpl<ElecText> implements IElecTextDao { }

ElecTextDaoImpl.java

二、配置spring的beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- 创建sessionFactory,这是spring整合hibernate的入口 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>
classpath:hibernate.cfg.xml
</value>
</property>
</bean> <bean id="elecTextDao" class="com.cppdy.ssh.dao.impl.ElecTextDaoImpl">
<property name="sessionFactory" ref="sessionFactory"/>
</bean> </beans>

beans.xml

三、配置事物自动提交(在hibernate.cfg.xml加入<property name="hibernate.connection.autocommit">true</property>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 数据库用户名 -->
<property name="hibernate.connection.username">root</property>
<!-- 数据库密码 -->
<property name="hibernate.connection.password">root</property>
<!-- 数据库驱动 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 数据库连接地址 -->
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/ssh</property>
<!-- 事物自动提交 -->
<property name="hibernate.connection.autocommit">true</property>
<!-- 配置方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- 无表自动创建,有表自动追加数据 -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 显示sql语句 -->
<property name="hibernate.show_sql">true</property>
<!-- 映射文件 -->
<mapping resource="com/cppdy/ssh/domain/ElecText.hbm.xml"/>
</session-factory>
</hibernate-configuration>

hibernate.cfg.xml

四、创建测试类TestDao.java

package junit;

import java.util.Date;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.cppdy.ssh.dao.IElecTextDao;
import com.cppdy.ssh.domain.ElecText; public class TestDao {
@Test
public void saveElecText(){
ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
IElecTextDao elecTextDao = (IElecTextDao)ac.getBean("elecTextDao");
//实例化PO对象,赋值,执行保存
ElecText elecText = new ElecText();
elecText.setTextName("测试DAO名称");
elecText.setTextDate(new Date());
elecText.setTextRemark("测试DAO备注");
elecTextDao.save(elecText);
}
}

TestDao.java

五、查看数据库

六、项目结构

搭建ssh框架项目(二)的更多相关文章

  1. 搭建ssh框架项目(一)

    一.创建web项目 二.导入jar包 三.创建数据库(MySQL) 四.建立javaBean对象(ElecText.java),属于持久层对象(PO对象) package com.cppdy.ssh. ...

  2. 搭建ssh框架项目(五)

    一.控制层优化 (1)创建BaseAction.java类 package com.cppdy.ssh.web.action; import javax.servlet.http.HttpServle ...

  3. 搭建ssh框架项目(四)

    一.创建控制层 (1)创建VO值对象,对应页面表单的属性值 package com.cppdy.ssh.web.form; /** * VO值对象,对应页面表单的属性值 * VO对象与PO对象的关系: ...

  4. 搭建ssh框架项目(三)

    一.创建业务层 (1)创建业务层接口IElecTextService.java package com.cppdy.ssh.service; import com.cppdy.ssh.domain.E ...

  5. Java之基于Eclipse搭建SSH框架(下)

    在上篇博客里,我简介了Tomcat滴配置与Struts2滴搭建,假设对这个还不会滴童鞋去看一下我滴上篇博客<Java之基于Eclipse搭建SSH框架(上)>.今天我们接着上篇博客滴内容. ...

  6. myeclipse搭建SSH框架

    搭建SSH框架 Struts+hibernater+spring架构(myeclipse) 右击,首先加入spring,加入hibernater,再加入struts2 复制jar包(把tomcat发布 ...

  7. 脚手架快速搭建springMVC框架项目

    apid-framework脚手架快速搭建springMVC框架项目   rapid-framework介绍:   一个类似ruby on rails的java web快速开发脚手架,本着不重复发明轮 ...

  8. SSH框架项目开发命名规范

    SSH 框架项目开发命名规范   一.各层包及类命名规范   总体原则:包名所有字母小写,类名采用 "驼峰标识",具体如下:   1. Action 类      包命名规范:co ...

  9. Maven环境下搭建SSH框架

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Maven:3.3.9 Struts2:2.5.10 Spring:4.3.8.RELEASE Hibernate:5.1.7.Fina ...

随机推荐

  1. BeautifulSoup 获取无标签文本

    比如: <p>aaa</p>bbb <p>ccc</p>ddd 怎么获取bbb和ddd呢? 结果:

  2. RESTful框架简述

    什么是RESTful架构: (1)每一个URI代表一种资源: (2)客户端和服务器之间,传递这种资源的某种表现层: (3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态 ...

  3. 利用Screen重启DevStack服务

    上篇介绍了DevStack如何安装部署.集成化工具有好处,但在系统重启后,OpenStack的各个服务并不会随系统重启而启动,需要利用screen来重启,接下来就记录下如何使用screen. 准备工作 ...

  4. shell命令批量创建指定格式的文件

    shell命令批量创建文件 [root@w212 test]# for count in `seq 9` ;do echo "$count" > a.2018050$coun ...

  5. 函数和常用模块【day05】:文件目录开发规范(七)

    本节内容 1.背景 2.设计目录结构的好处 3.关于readme的内容 4.关于requirements.txt和setup.py 5.关于配置文件的使用方法 一.背景 "设计项目目录结构& ...

  6. java中equals和compareTo的区别---解惑

    大多转载自 百度知道,个人整理以便日后阅读. value1.compareTo(value2) == 0 value1.equals(value2) equals的效率高些,compareTo其实就是 ...

  7. vs2017_enterprise正式版离线安装包bt下载

    vs2017_enterprise正式版离线安装包bt下载 点击这里下载种子 磁力链接 安装前请先打开certificates目录,安装里面的三个证书 离线下载教程 : https://docs.mi ...

  8. 通过lua栈了解lua与c的交互

    lua是如何执行的 其中分析.执行部分都是c语言实现的. lua与c的关系 lua的虚拟机是用c语言实现的,换句话说一段lua指令最终在执行时都是当作c语言来执行的,lua的global表,函数调用栈 ...

  9. ThinkPHP 3.2 用户注册邮箱验证激活帐号

    本文将结合实例,讲解如何使用PHP+Mysql完成注册帐号.发送激活邮件.验证激活帐号.处理URL链接过期的功能. 业务流程 1.用户提交注册信息. 2.写入数据库,此时帐号状态未激活. 3.将用户名 ...

  10. Python学习笔记10--unittest参数化

    我们在写case的时候,如果用例的操作是一样的,就是参数不同,比如说要测一个登陆的接口,要测正常登陆的.黑名单用户登陆的.账号密码错误的等等,在unittest里面就要写多个case来测试. 这样的情 ...