ssh注解basedao简单的实现
@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简单的实现的更多相关文章
- 详解SSH注解配置,bean注解、事物注解等
使用过SSH注解的屌丝们都知道,要想使用注解需要在applicationContext.xml配置文件里面开启注解配置,开启方式如下:1.头部声明需加入xmlns:context="http ...
- ssh注解整合
ssh注解整合 导入java包 配置struts2环境 1. 创建struts.xml配置文件 <?xml version="1.0" encoding="UTF- ...
- spring注解开发中常用注解以及简单配置
一.spring注解开发中常用注解以及简单配置 1.为什么要用注解开发:spring的核心是Ioc容器和Aop,对于传统的Ioc编程来说我们需要在spring的配置文件中邪大量的bean来向sprin ...
- Java注解--实现简单读取excel
实现工具类 利用注解实现简单的excel数据读取,利用注解对类的属性和excel中的表头映射,使用Apache的poi就不用在业务代码中涉及row,rows这些属性了. 定义注解: @Retentio ...
- java基础强化——深入理解java注解(附简单ORM功能实现)
目录 1.什么是注解 2. 注解的结构以及如何在运行时读取注解 2.1 注解的组成 2.2 注解的类层级结构 2.3 如何在运行时获得注解信息 3.几种元注解介绍 3.1 @Retention 3.2 ...
- 常用的SSH注解标签
常用的SSH注解标签 1.Spring的注解 关于配Bean用的 @Component @Controller @Service @Repository 作用 ...
- Springboot使用自定义注解实现简单参数加密解密(注解+HandlerMethodArgumentResolver)
前言 我黄汉三又回来了,快半年没更新博客了,这半年来的经历实属不易,疫情当头,本人实习的公司没有跟员工共患难, 直接辞掉了很多人.作为一个实习生,本人也被无情开除了.所以本人又得重新准备找工作了. 算 ...
- 基于注解的简单SSH保存用户小案例
需求:搭建SSH框架环境,使用注解进行相关的注入(实体类的注解,AOP注解.DI注入),保存用户信息 效果: 一.导依赖包 二.项目的目录结构 三.web.xml配置 <?xml version ...
- ssh 注解写法
弄了半天 (好久哦) 首先 applicationContext-db.xml <?xml version="1.0" encoding="UTF-8" ...
随机推荐
- (C#) Lock - 将对象上锁,互斥多个线程,使同步。
C# Lock 原文:http://www.dotnetperls.com/lock Locking is essential in threaded programs. It restricts c ...
- ServletContext(重要)
一个项目只有一个ServletContext对象! 我们可以在N多个Servlet中来获取这个唯一的对象,使用它可以给多个Servlet传递数据! 这个对象在Tomcat启动时就创建,在Tomcat关 ...
- ADF_ADF Faces系列1_使用JSF开发基于Ajax的用户界面:ADF Faces 富客户端组件简介(Part1)
2013-05-01 Created By BaoXinjian
- python(15)提取字符串中的数字
python 提取一段字符串中去数字 ss = “123ab45” 方法一:filter filter(str.isdigit, ss) 别处copy的filter的用法: # one>> ...
- NoSQL分类及ehcache memcache redis 三大缓存的对比
NoSQL分类 由于NoSQL中没有像传统数据库那样定义数据的组织方式为关系型的,所以只要内部的数据组织采用了非关系型的方式,就可以称之为NoSQL数据库.目前,可以将众多的NoSQL数据库按照内部的 ...
- vim常用命令笔记(转载)
添加多行注释: 1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式; 2. 在行首使用上下键选择需要注释的多行; 3. 按下键盘(大写)“I”键,进入插入模式 ...
- ios8消息快捷处理——暂无输入框
if (isiOS8) { //ios8的远程推送注册 NSSet *set = nil; #if 1 //1.创建消息上面要添加的动作(按钮的形式显示出来) UIMutableUserNotific ...
- C++学习43 输入输出有关的类和对象
输入和输出是数据传送的过程,数据如流水一样从一处流向另一处.C++形象地将此过程称为流(Stream).C++的输入输出流是指由若干字节组成的宇节序列,这些宇节中的数据按顺序从一个对象传送到另一对象. ...
- Intellisense in Visual Studio for Microsoft Dynamics CRM 2016
Intellisense in Visual Studio for Microsoft Dynamics CRM 2016 posted by dynamicsnick on may 18, 2016 ...
- sql server远程访问Oracle数据库
在sql server上新建了连接服务器后 在指定的链接服务器上执行指定的传递查询. 该服务器是 OLE DB 数据源. OPENQUERY 可以在查询的 FROM 子句中引用,就好象它是一个表名. ...