@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. python简要

    python用冒号代替{}开启语句块 /usr/bin/python 加在脚本的头部, ./脚本 help("str") : 查看命令帮助 '''三引号可以打印换行字符串 prin ...

  2. andriod_入门一

    [小技巧] 1.背景图片文件名不能以数字开头,必须以字母开头. 2.如果按钮被背景图被遮住,可以在relativelayout里拖动控件,把背景拖到最上方: [异常] 1. 在用LinearLayou ...

  3. 对Vector3.Lerp 插值的理解

    有时,我们在做游戏时会发现有些跟随动作不够圆滑或者需要一个缓冲的效果,这时,一般会考虑到插值.所以对插值的理解是必需的.(比如摄像机跟随主角) 插值是数学上的一个概念,在这里用公式表示就是:from  ...

  4. 关于this指向思考

    事情起因为<js函数式编程指南>里面看到这段话: 上例DB对象中的save方法作为参数传入到fs的readFile,按道理this指向DB,为啥作者的意思是存在this指针可能会指向其他地 ...

  5. MySql 存储过程实例(附完整注释)

    将下面的语句复制粘贴可以一次性执行完,我已经测试过,没有问题! MySql存储过程简单实例:                                                       ...

  6. java中的xml与实体类之间的映射

    实体类: package xml; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class User ...

  7. [ASP.NET]动态绑定树控件:

    public void BindTree(TreeView tview, TreeNode tn_main, string parentId,string sql) { TreeNode tn=nul ...

  8. NYOJ-228 士兵杀敌5

    士兵杀敌(五) 时间限制:2000 ms  |  内存限制:65535 KB 难度:5 描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为0~M,每次有任务的时候,总会有一批编号连在一起人请战(编 ...

  9. LayoutInflater的实例化

    获得 LayoutInflater 实例的三种方式 1. LayoutInflater inflater = getLayoutInflater();  //调用Activity的getLayoutI ...

  10. 菜鸟-手把手教你把Acegi应用到实际项目中(10)-保护业务方法

    前面已经讲过关于保护Web资源的方式,其中包括直接在XML文件中配置和自定义实现FilterInvocationDefinitionSource接口两种方式.在实际企业应用中,保护Web资源显得非常重 ...