@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. Android Gradle实用技巧——多渠道打包

    友盟有很多不错的功能,例如渠道统计等. 想要做渠道统计,有一个要求就是要在manifest文件中添加各个渠道的配置.只有一两个渠道还好说,但是渠道多了的话,手动修改然后打包简直是噩梦. 幸好现在And ...

  2. System.InvalidOperationException: Sequence contains no elements

    foreach (var keyCode in unexpectedKeyCodesDetected) { string unexpected = expectedCapturedKeyCodes.W ...

  3. SQL语言的三个分类:DDL、DML、DCL

    DML:数据操纵语言,主要是完成数据的新增,修改,删除和查询的操作. DDL:数据定义语言,主要是用来创建或修改表.视图.存储过程以及用户等. DCL:数据控制语言,是用来设置或更改数据库用户或角色权 ...

  4. AP_应付税务预扣税Withholding Tax中付款时产生预扣税(案例)

    2014-07-12 Created By BaoXinjian

  5. PopuWindow_1

    PopupWindow有点类似于Dialog,相同点在于都是弹出窗口,并且都可以对其进行自定义显示,并且里面的监听组件,进行相应的操作, 但它与Dialog又有很大的区别,PopupWindow只是弹 ...

  6. 基本 linux命令

    rm rf * 递归删除 ln -s 源 目标 |管道命令 把上一个命令的结果交给 | 的后面的命令处理 文件内容查阅 cat 由第一行开始显示文件内容 tac 从最后一行开始显示 nl 显示的时候输 ...

  7. storyBoard中切换应用启动的切入点方法

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...

  8. PHP 时区设置

    有时候使用date("Y-m-d h:i:s")时发现时间相差8小时,修改“/etc/php5/apache2/php.ini”: date.timezone = "As ...

  9. TRUNCATE与 DELETE

    源地址:http://zhidao.baidu.com/link?url=9zB64BuXiAXNPF-zxvd6VLGTKb2FsUzQ-FsRAeQaYzycOGT5uGPXb-oB44TuYoP ...

  10. nyoj 86 找球号(一)

    点击打开链接 找球号(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i ...