`

mybatis的basedao

 
阅读更多


import java.util.Map;

import javax.annotation.Resource;

import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Repository;

/**
 * 
 * @Description: 公共接口的实现
 * @author liyong
 * @date 2014年11月14日 下午1:46:53
 * @version V1.0
 *
 */
@Scope("prototype")
@Repository("baseDao")
public class BaseDao extends SqlSessionDaoSupport {
	private static Logger logger = Logger.getLogger(BaseDao.class);
	@Resource
	private SqlSessionTemplate sqlSessionTemplate;

	/**
	 * 
	 * @Description: 添加数据
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public int insert(String statementName, Object parameterObject) {
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		int count = session.insert(statementName, parameterObject);
		session.close();
		return count;
	}

	/**
	 * 
	 * @Description: 查询数据--单个对象
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public Object queryForObject(String statementName, Object parameterObject) {
		Object oo = null;
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		try {
			oo = session.selectOne(statementName, parameterObject);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
		} finally {
			if (null != session)
				session.close();
		}
		return oo;
	}

	/**
	 * 
	 * @Description: 查询数据--单个对象-不加参数
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public Object selectList(String statementName) {
		Object oo = null;
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		try {
			oo = session.selectList(statementName);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
		} finally {
			if (null != session)
				session.close();
		}
		return oo;
	}

	/**
	 * 
	 * @Description: 查询集合--有参数
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public Object selectList(String statementName, Object parameterObject) {
		Object oo = null;
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		try {
			oo = session.selectList(statementName, parameterObject);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
		} finally {
			if (null != session)
				session.close();
		}
		return oo;
	}

	/**
	 * 
	 * @Description: 修改数据
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public int updateObject(String statementName, Object parameterObject) {
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		int count = session.update(statementName, parameterObject);
		session.close();
		return count;
	}

	/**
	 * 
	 * @Description: 删除数据
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public int deleteObject(String statementName, Object parameterObject) {
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		int count = session.delete(statementName, parameterObject);
		session.close();
		return count;
	}

	/**
	 * 
	 * @Description: 查询数据
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public int selectOne(String statementName, Object parameterObject) {
		Integer count = 0;
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		try {
			count = session.selectOne(statementName, parameterObject);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
		} finally {
			if (null != session)
				session.close();
		}
		return count;
	}

	public double selectOneDouble(String statementName, Object parameterObject) {
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		double val = 0;
		try {
			val = session.selectOne(statementName, parameterObject);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
		} finally {
			if (null != session)
				session.close();
		}
		return val;
	}

	/**
	 * 
	 * @Description: 查询数据
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */
	public Map<String, Object> selectObjectByProcedure(String statementName,
			Map<String, Object> map) {
		SqlSession sqlSession = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();

		try {
			sqlSession.selectOne(statementName, map);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			sqlSession.close();
		}
		return map;
	}

}

分享到:
评论

相关推荐

    mybatis basedao

    MyBatis BaseDAO 是一种基于 MyBatis 框架的工具类库,它旨在简化数据库操作,通过封装常见的CRUD(Create、Read、Update、Delete)方法,为开发者提供便利,减少重复代码,提高开发效率。在Java Web 开发中,...

    Mybatis通用DAO设计封装(mybatis)

    Mybatis通用DAO设计封装主要涉及的是在Java开发中如何高效地使用Mybatis框架进行数据库操作。Mybatis是一款轻量级的持久层框架,它避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。通过提供自定义SQL、存储...

    springMVC+Mybatis封装整合

    springMVC+Mybatis封装整合:整合搭建已经完成不再述,本框架特色主要针对Mybatis框架BaseDao,BaseService,BaseServiceImpl封装,有点贵,本人也是循序见进到这一步,花了将近一个月时间,之前发布版本可以不下载...

    springboot+mybatis 多数据源 basedao +分页

    本项目涉及到的主题是“SpringBoot+MyBatis实现多数据源以及基于BaseDAO的分页功能”。 多数据源是指在一个应用中同时管理多个数据库。这在分布式系统或者需要隔离不同业务数据的场景中非常常见。SpringBoot可以...

    basedao_basedao数据库_

    - 可能的ORM框架,如Hibernate或MyBatis的集成(虽然描述中没有明确提及) - Maven或Gradle项目管理工具的使用 - 面向对象编程,尤其是抽象类和接口的设计 在实际开发中,使用BaseDao可以大大提高开发效率,但同时...

    Spring4Mybatis:这是一个Spring MVC + Mybatis 的项目,不仅仅只是简单的demo或是增删改查,她将含括很多的方面:尽量抽取basedao,baseService公共部分,做出一个简单的framework,为以后分布式开发提供基础

    这是一个Spring MVC + Mybatis 的项目,不仅仅只是简单的demo或是增删改查,她将含括很多的方面:尽量抽取basedao,baseService公共部分,做出一个简单的framework,为以后分布式开发提供基础。 ##内容 Spring的国际...

    企业通用BaseDao方法集

    例如,使用MyBatis框架时,BaseDao可能会利用MyBatis的动态SQL来实现。 此外,BaseDao还可能提供了事务管理功能。事务是数据库操作的基本单元,确保数据的一致性。例如: 1. `void startTransaction()`: 开启一个...

    springboot-mybatis-pagehelper-jsp

    在本示例项目"springboot-mybatis-pagehelper-jsp"中,主要展示了如何将Spring Boot、MyBatis、PageHelper和JSP技术整合在一起,构建一个功能完善的Web应用。下面将详细阐述这些技术及其整合的关键点。 首先,...

    SpringBoot_BaseDao.zip

    SpringBoot集成了多种数据访问技术,如JDBC、MyBatis、Hibernate等,使得我们可以轻松配置和使用。在SpringBoot中,通过@Configuration和@Bean注解,我们可以配置DataSource(数据源)和JdbcTemplate或JPA实体,来...

    java BaseDao

    以上代码仅为示例,实际应用中,BaseDao通常会使用ORM框架如Hibernate或MyBatis,它们提供了更高级别的抽象,能够自动处理SQL生成和结果映射,使代码更加简洁且易于维护。 **总结** BaseDao是Java开发中非常实用的...

    BaseDao的封装

    这些方法通常通过JDBC(Java Database Connectivity)或ORM(Object-Relational Mapping)框架如Hibernate、MyBatis来实现。`BaseDao`的封装使得每个具体的DAO类只需要关注业务逻辑,无需关心底层的数据访问细节。 ...

    Spring声明式事务及BaseDao完整版

    3. **实现方式**:BaseDao通常基于JDBC或ORM框架(如Hibernate、MyBatis)实现,提供基本的SQL执行和结果映射功能。 4. **扩展性**:子类可以继承BaseDao,并根据业务需求添加特定的数据库操作方法。 四、Spring...

    spring4.1.6-mybatis3.2.8

    整合了spring 4.1.6+mybatis3.2.8的组合算是最新的稳定版本了,而且附带了一个basedao操作接口,泛型的通用写法,下载即可运行,我用的是idea项目最好用idea来开发。不会的有问题随时拍砖:308444582,我的扣扣,准您...

    jdbcBaseDao

    通过这种方式,你可以更好地掌握数据库编程,并为后续的ORM框架(如Hibernate、MyBatis)的学习打下坚实的基础。 总结,`jdbcBaseDao`是数据库操作的基础工具类,通过封装JDBC操作,降低了数据库编程的复杂度,尤其...

    Java通用的BaseDao(我是用连接池做的你把里面代码换一下就行了)

    同时,BaseDao通常会与MyBatis或Hibernate等ORM框架结合使用,以简化SQL编写和对象关系映射。 总之,"Java通用的BaseDao"是一个高效且灵活的设计,它利用连接池提升性能,并通过提供基本的数据库操作接口,降低了...

    简单springmvc+mybatis例子

    通常,我们会创建一个BaseDAO类,提供通用的CRUD方法,然后让SchoolService继承它。 4. **事务管理**:SpringMVC可以与MyBatis的事务管理集成,通过@Transactional注解控制事务边界,确保数据的一致性。 在实际应用...

    springboot-mybatis-分页

    综上所述,本例子展示了如何在SpringBoot环境下集成MyBatis作为持久层框架,使用Druid作为数据连接池,通过PageHelper实现分页查询,并且采用BaseDao的方式来简化数据库操作。此外,还使用了JSP技术进行前端展示。...

    mybatis 增删改查 模糊查询 操作

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。在实际的项目开发中,MyBatis 提供了强大的功能,使得开发者可以更灵活地控制 SQL 执行,从而实现数据的增删改查操作。在本教程中,我们...

    基于注解反射封装的BaseDao(支持一对多查询)

    此外,为了保证代码的可维护性和可扩展性,我们通常会结合使用Spring Data JPA或MyBatis这样的持久层框架,它们已经实现了很多高级功能,可以减少手写SQL和反射处理的工作量。 总结来说,基于注解反射封装的 `...

    通用底层BaseDao

    10. **动态SQL**:如果使用了像MyBatis这样的框架,BaseDao可能支持动态SQL,允许根据条件动态生成SQL语句。 了解和熟练运用BaseDao模式是提升Java后端开发效率的关键,它使得开发者能够专注于业务逻辑的实现,而...

Global site tag (gtag.js) - Google Analytics