目前我接触到的Spring的数据库操作主要包括两种,主要使用JdbcTemplate和HibernateTemplate。后者用于结合Hibernate操作。

两者都提供了持久层访问模板化,只需要获得一个SessionFactory就可以执行持久化操作。可以完成增删改查操作。

获取JdbcTemplate和HibernateTemplate的方式有两种

1. 传统的方式

2. 使用JdbcDaoSupport和HibernateDaoSupport获取,其包含两个方法。

(1) getHibernateTemplate/getJdbcTemplate (2) setSessionFactory

同样需要注入SesssionFactory


一般采用第二种方式


构建DAO层查询

BaseDao

1 package com.jason.centralbank.dao;
2
3 import java.util.List;
4
5 public interface BaseDao<T> {
6
7     List<T> findAll(Class<T> entityClazz);
8 }

BaseDaoHibernate

 1 package com.jason.centralbank.dao;
 2
 3 import org.hibernate.SessionFactory;
 4 import org.springframework.beans.factory.annotation.Autowired;
 5 import org.springframework.orm.hibernate4.support.HibernateDaoSupport;
 6
 7 import java.util.List;
 8
 9 public class BaseDaoHibernate<T> extends HibernateDaoSupport implements BaseDao<T> {
10
11     @Autowired
12     public void setSessionFactoryOverride(SessionFactory sessionFactory)
13     {
14         super.setSessionFactory(sessionFactory);
15     }
16
17     @SuppressWarnings("RedundantCast")
18     @Override
19     public List<T> findAll(Class<T> entityClazz) {
20         return (List<T>) getHibernateTemplate().loadAll(entityClazz);
21     }
22 }

DepositInforBaseDao

package com.jason.centralbank.dao;import com.jason.centralbank.entities.DepositInfor;public interface DepositInforBaseDao extends BaseDao<DepositInfor>{
}

DepositInforDao

1 package com.jason.centralbank.dao;
2
3 import com.jason.centralbank.entities.DepositInfor;
4 import org.springframework.stereotype.Repository;
5
6 @Repository
7 public class DepositInforDao extends BaseDaoHibernate<DepositInfor> implements DepositInforBaseDao{
8 }

DepositInfor

package com.jason.centralbank.entities;import javax.persistence.*;@Entity
@Table(name = "2011包头地区存款金额统计表")
public class DepositInfor {@Id@Column(name = "单位")private String Institution;@Column(name = "一月")private String Jan;@Column(name = "二月")private String Feb;@Column(name = "三月")private String Mar;@Column(name = "四月")private String Apr;@Column(name = "五月")private String May;@Column(name = "六月")private String Jun;@Column(name = "上半年")private String FirstHalfYear;public String getInstitution() {return Institution;}public void setInstitution(String institution) {Institution = institution;}public String getJan() {return Jan;}public void setJan(String jan) {Jan = jan;}public String getFeb() {return Feb;}public void setFeb(String feb) {Feb = feb;}public String getMar() {return Mar;}public void setMar(String mar) {Mar = mar;}public String getApr() {return Apr;}public void setApr(String apr) {Apr = apr;}public String getMay() {return May;}public void setMay(String may) {May = may;}public String getJun() {return Jun;}public void setJun(String jun) {Jun = jun;}public String getFirstHalfYear() {return FirstHalfYear;}public void setFirstHalfYear(String firstHalfYear) {FirstHalfYear = firstHalfYear;}@Overridepublic String toString() {return "DepositInfor{" +"Institution='" + Institution + '\'' +", Jan='" + Jan + '\'' +", Feb='" + Feb + '\'' +", Mar='" + Mar + '\'' +", Apr='" + Apr + '\'' +", May='" + May + '\'' +", Jun='" + Jun + '\'' +", FirstHalfYear='" + FirstHalfYear + '\'' +'}';}
}

转载于:https://www.cnblogs.com/xdlaoliu/p/5645610.html

Spring中使用JdbcTemplate和HibernateTemplate的数据库操作相关推荐

  1. spring中的JdbcTemplate——JdbcTemplate的最基本用法

    spring中的JdbcTemplate JdbcTemplate的作用: 它就是用于和数据库交互的,实现对表的CRUD操作 JdbcTemplate 概述 它是 spring 框架中提供的一个对象, ...

  2. 在spring中使用JdbcTemplate进行数据库管理操作

    JdbcTemplate 1.JdbcTemplate概念及使用 ​ a)Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作 ​ b)引入相关 jar 包 ...

  3. java day60【 Spring 中的 JdbcTemplate[会用] 、Spring 中的事务控制 、Spring5 的新特性[了解] 】...

    第1章 Spring 中的 JdbcTemplate[会用] 1.1JdbcTemplate 概述 1.2JdbcTemplate 对象的创建 1.3spring 中配置数据源 1.3.1 环境搭建 ...

  4. 一篇文章带你学会 Spring 中的 JdbcTemplate 增删改查操作

    文章目录 一.JdbcTemplate 概述 二.配置数据源 三.bean.xml配置文件 四.JdbcTemplate简单示例 五.批量操作多条记录 一.JdbcTemplate 概述 它是 spr ...

  5. spring中的JdbcTemplate的使用方法

    在没有使用mybatis框架之前,通常是用原始的方法编写持久层代码,但即便有jdbcutil工具类,开发效率也非常的低,那么spring为我们提供了JdbcTemplate类,能快速的开发持久层的代码 ...

  6. VS2017中SQLite配置和引用和数据库操作编程

    环境配置:windows 64,VS,SQLite(点击下载),System.Data.SQLite.DLL(点击下载). 一.新建项目,添加引用 1.在VS中新建一个控制台应用程序,如下图 2.添加 ...

  7. Spring中HibernateTemplate类的使用

    实际情况中,对于编程事务的操作最好还是使用org.springframework.transaction.support.TransactionTemplate,因为HibernateTemplate ...

  8. 详解设计模式在Spring中的应用

    设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆. 今天,螃蟹在IT学习者网站就设计模式的内在价值做一番探讨,并以spring为例进行讲解,只有领略了 ...

  9. 这些Spring中的设计模式,你都知道吗?

    来自: itxxz.com/a/javashili/tuozhan/2014/0601/7.html 设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆 ...

最新文章

  1. debian9宝塔面板安装php失败,宝塔面板安装php失败:提示No package 'libjpeg' found的解决办法...
  2. Ueeidor 使用
  3. 【Android开发】图形图像处理技术-绘制几何图形
  4. Visual Studio Code,这是要上天?
  5. linux的xmgrace无法运行,科学网—安装xmgrace - 林绪波的博文
  6. 利用一维数组输出杨辉三角
  7. java 将一段时间分割为两个连续的时间
  8. access集团和abm_abm年度盛典,12月份,中国、澳大利亚、新西兰三地同时举办,abm各渠道运营商从全球各地赶来参会!...
  9. 计算机网络(16)-计算机网络应用示例
  10. 三维点云配准方法(两帧)
  11. 学科分类号查询 计算机工程,学科分类与代码分类号查询.doc
  12. 有符号整型的数据范围为什么负数比正数多一个
  13. OpenCV-Python图片叠加与融合,cv2.add与cv2.addWeighted的区别
  14. OpenCV4.3 Java 编程入门:灰度映射
  15. python设置excel边框_python win32com excel边框格式
  16. java 获取文件的大小kb_java获取文件大小的方法
  17. word设置每页50行
  18. mysql:取group by第一条数据
  19. mysql docker还是rds_rds · 输出自己/docker-mysql - Gitee.com
  20. 计算机仿真模拟软件心得,【仿真软件在计算机组装课中的应用】 计算机组装总结及心得...

热门文章

  1. 艺术美的价值是什么?
  2. 刹车时到底要不要踩离合器?
  3. 二月春风似剪刀的上一句是什么,二月春风似剪刀全诗赏析
  4. “三步走”助你完成领导者转变
  5. 结合我的创业经历,有一下3点感受
  6. 在互联网行业呆了这么多年
  7. 坑了我一个小时的脚本执行
  8. 批量执行定时任务_执行批量维护任务安全策略
  9. power bi 创建空表_如何使用R在Power BI中创建地理地图
  10. ssas 分区 设置_如何在Analysis Services多维中对SSAS多维数据集进行分区