@Repository
public class BaseDao extends HibernateDaoSupport{
protected Class objectClass;
protected String className; protected String alias; // protected Session session; private static final Logger log = LoggerFactory
.getLogger(BaseDao.class); @Resource
public void setSessionFactry(SessionFactory sessionFactroy){
super.setSessionFactory(sessionFactroy);
} // public BaseDao() {
// }
// public BaseDao(Class objectClass) {
// init(objectClass);
// }
// public BaseDao(Class objectClass, String alias) {
// init(objectClass, alias);
// }
public void init(Class objectClass) {
this.objectClass = objectClass;
this.className = objectClass.toString();
this.className = className.substring(className.lastIndexOf(".") + 1);
this.alias = className.toLowerCase();
}
public void init(Class objectClass, String alias) {
this.alias = alias;
this.objectClass = objectClass;
this.className = objectClass.toString();
this.className = className.substring(className.lastIndexOf(".") + 1);
}
public void setAlias(String alias) {
this.alias = alias;
}
/**
*
* @Description: 添加
* @param @param object
* @param @return
* @return boolean
* @throws
* @author xxx
* @date 2016-1-8
*/
public boolean save(Object object) {
System.out.println(this.className+";"+this.className);
log.debug("saving "+this.className+" instance");
boolean bool=false;
Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
Transaction tc = (Transaction) session.beginTransaction();
if (true) {
tc.rollback();
return false;
}
try {
session.save(object);
log.debug("save successful");
tc.commit();
bool=true;
} catch (Exception e) {
tc.rollback();
log.error("save failed", e);
System.out.println(e.getMessage());
}finally{
return bool;
}
}
@Service
public class BaseService<E> {
@Resource
private BaseDao basedao; // public BaseService() {
// super();
// }
// public BaseService(Class<E> _class) {
// basedao = new BaseDao(_class);
// } public void zhuru(Class<E> _class){
basedao.init(_class);
} public String save(E e){
String message="";
boolean bool=basedao.save(e);
if (bool) {
message="true";
}else {
message="false";
}
return message;
}
}


action调用
action引用implements Preparable,在每次调用方法前调用为basedao一些属性赋值
@Override
public void prepare() throws Exception {
baseService.zhuru(xxx.class);
} @Autowired
private BaseService<TPosition> baseService; String result=baseService.save(project);

简单记录下,也是刚摸索弄得,有什么问题,多多指教啊


ssh注解basedao简单的实现的更多相关文章

  1. 详解SSH注解配置,bean注解、事物注解等

    使用过SSH注解的屌丝们都知道,要想使用注解需要在applicationContext.xml配置文件里面开启注解配置,开启方式如下:1.头部声明需加入xmlns:context="http ...

  2. ssh注解整合

    ssh注解整合 导入java包 配置struts2环境 1. 创建struts.xml配置文件 <?xml version="1.0" encoding="UTF- ...

  3. spring注解开发中常用注解以及简单配置

    一.spring注解开发中常用注解以及简单配置 1.为什么要用注解开发:spring的核心是Ioc容器和Aop,对于传统的Ioc编程来说我们需要在spring的配置文件中邪大量的bean来向sprin ...

  4. Java注解--实现简单读取excel

    实现工具类 利用注解实现简单的excel数据读取,利用注解对类的属性和excel中的表头映射,使用Apache的poi就不用在业务代码中涉及row,rows这些属性了. 定义注解: @Retentio ...

  5. java基础强化——深入理解java注解(附简单ORM功能实现)

    目录 1.什么是注解 2. 注解的结构以及如何在运行时读取注解 2.1 注解的组成 2.2 注解的类层级结构 2.3 如何在运行时获得注解信息 3.几种元注解介绍 3.1 @Retention 3.2 ...

  6. 常用的SSH注解标签

    常用的SSH注解标签 1.Spring的注解 关于配Bean用的        @Component        @Controller @Service @Repository        作用 ...

  7. Springboot使用自定义注解实现简单参数加密解密(注解+HandlerMethodArgumentResolver)

    前言 我黄汉三又回来了,快半年没更新博客了,这半年来的经历实属不易,疫情当头,本人实习的公司没有跟员工共患难, 直接辞掉了很多人.作为一个实习生,本人也被无情开除了.所以本人又得重新准备找工作了. 算 ...

  8. 基于注解的简单SSH保存用户小案例

    需求:搭建SSH框架环境,使用注解进行相关的注入(实体类的注解,AOP注解.DI注入),保存用户信息 效果: 一.导依赖包 二.项目的目录结构 三.web.xml配置 <?xml version ...

  9. ssh 注解写法

    弄了半天  (好久哦) 首先 applicationContext-db.xml <?xml version="1.0" encoding="UTF-8" ...

随机推荐

  1. 3. Map与Tuple

    一. Map 对偶 (1)对偶是一个映射.多个对偶形成map (2)对偶的表示:(k,v)或者k->v Map(哈希类型) (1)map的声明与查询 scala> val map1 = M ...

  2. (VS) TFS lost mapping suddenly.

    家里的网络不是很稳定.今天突然发现 TFS 上所有的 mapping都突然没有了. 尝试去remapping,在Source Control Explorer 中右击源文件,然后选择 Advanced ...

  3. HDU 1011 Starship Troopers 树形DP 有坑点

    本来是一道很水的树形DP题 设dp[i][j]表示,带着j个人去攻打以节点i为根的子树的最大收益 结果wa了一整晚 原因: 坑点1: 即使这个节点里面没有守卫,你如果想获得这个节点的收益,你还是必须派 ...

  4. [物理学与PDEs]第4章 反应流体力学

    [物理学与PDEs]第4章第1节 引言 [物理学与PDEs]第4章第2节 反应流体力学方程组 2.1 粘性热传导反应流体力学方程组 [物理学与PDEs]第4章第2节 反应流体力学方程组 2.2 反应流 ...

  5. TFS使用中的问题

    http://msdn.microsoft.com/zh-cn/library/vstudio/fda2bad5.aspx 项目映射步骤(项目上传): a.新建一个空的文件夹Team Server,用 ...

  6. iframe替代方案

    自己写一个pagelet框架.封装成JSP的Taglib. <tms:view header="common-header" footer="common-foot ...

  7. centos7 安装中文编码

    运行如下 yum groups mark install "Chinese Support"

  8. iOS 热点、通话时候TabView的Frame调整

    - (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame{ ...

  9. Python补充01 序列的方法

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在快速教程中,我们了解了最基本的序列(sequence).回忆一下,序列包含有定值 ...

  10. 利用Hadoop实现超大矩阵相乘之我见(二)

    前文 在<利用Hadoop实现超大矩阵相乘之我见(一)>中我们所介绍的方法有着“计算过程中文件占用存储空间大”这个缺陷,本文中我们着重解决这个问题. 矩阵相乘计算思想 传统的矩阵相乘方法为 ...