Spring中使用JdbcTemplate和HibernateTemplate的数据库操作
目前我接触到的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的数据库操作相关推荐
- spring中的JdbcTemplate——JdbcTemplate的最基本用法
spring中的JdbcTemplate JdbcTemplate的作用: 它就是用于和数据库交互的,实现对表的CRUD操作 JdbcTemplate 概述 它是 spring 框架中提供的一个对象, ...
- 在spring中使用JdbcTemplate进行数据库管理操作
JdbcTemplate 1.JdbcTemplate概念及使用 a)Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作 b)引入相关 jar 包 ...
- java day60【 Spring 中的 JdbcTemplate[会用] 、Spring 中的事务控制 、Spring5 的新特性[了解] 】...
第1章 Spring 中的 JdbcTemplate[会用] 1.1JdbcTemplate 概述 1.2JdbcTemplate 对象的创建 1.3spring 中配置数据源 1.3.1 环境搭建 ...
- 一篇文章带你学会 Spring 中的 JdbcTemplate 增删改查操作
文章目录 一.JdbcTemplate 概述 二.配置数据源 三.bean.xml配置文件 四.JdbcTemplate简单示例 五.批量操作多条记录 一.JdbcTemplate 概述 它是 spr ...
- spring中的JdbcTemplate的使用方法
在没有使用mybatis框架之前,通常是用原始的方法编写持久层代码,但即便有jdbcutil工具类,开发效率也非常的低,那么spring为我们提供了JdbcTemplate类,能快速的开发持久层的代码 ...
- VS2017中SQLite配置和引用和数据库操作编程
环境配置:windows 64,VS,SQLite(点击下载),System.Data.SQLite.DLL(点击下载). 一.新建项目,添加引用 1.在VS中新建一个控制台应用程序,如下图 2.添加 ...
- Spring中HibernateTemplate类的使用
实际情况中,对于编程事务的操作最好还是使用org.springframework.transaction.support.TransactionTemplate,因为HibernateTemplate ...
- 详解设计模式在Spring中的应用
设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆. 今天,螃蟹在IT学习者网站就设计模式的内在价值做一番探讨,并以spring为例进行讲解,只有领略了 ...
- 这些Spring中的设计模式,你都知道吗?
来自: itxxz.com/a/javashili/tuozhan/2014/0601/7.html 设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆 ...
最新文章
- debian9宝塔面板安装php失败,宝塔面板安装php失败:提示No package 'libjpeg' found的解决办法...
- Ueeidor 使用
- 【Android开发】图形图像处理技术-绘制几何图形
- Visual Studio Code,这是要上天?
- linux的xmgrace无法运行,科学网—安装xmgrace - 林绪波的博文
- 利用一维数组输出杨辉三角
- java 将一段时间分割为两个连续的时间
- access集团和abm_abm年度盛典,12月份,中国、澳大利亚、新西兰三地同时举办,abm各渠道运营商从全球各地赶来参会!...
- 计算机网络(16)-计算机网络应用示例
- 三维点云配准方法(两帧)
- 学科分类号查询 计算机工程,学科分类与代码分类号查询.doc
- 有符号整型的数据范围为什么负数比正数多一个
- OpenCV-Python图片叠加与融合,cv2.add与cv2.addWeighted的区别
- OpenCV4.3 Java 编程入门:灰度映射
- python设置excel边框_python win32com excel边框格式
- java 获取文件的大小kb_java获取文件大小的方法
- word设置每页50行
- mysql:取group by第一条数据
- mysql docker还是rds_rds · 输出自己/docker-mysql - Gitee.com
- 计算机仿真模拟软件心得,【仿真软件在计算机组装课中的应用】 计算机组装总结及心得...