package com.itv.weixin.dao.impl;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.sql.Types;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.ScrollableResults;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.jdbc.Work;
import org.springframework.beans.factory.annotation.Autowired;
import com.itv.weixin.dao.IBaseDao;
import com.itv.weixin.util.PageResults;
import com.itv.weixin.util.RowMapper;
/**
* @ClassName: BaseDao
* @Description: baseDao实现
* @author yz
*
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public class BaseDao<T, ID extends Serializable> implements IBaseDao<T, ID> {
@Autowired
private SessionFactory sessionFactory;
protected Class<T> entityClass;
public BaseDao() {
}
protected Class getEntityClass() {
if (entityClass == null) {
entityClass = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
}
return entityClass;
}
/**
* <保存实体>
* <完整保存实体>
* @param t 实体参数
* @see com.itv.launcher.util.IBaseDao#save(java.lang.Object)
*/
@Override
public void save(T t) {
this.getSession().save(t);
}
/**
* <保存或�?更新实体>
* @param t 实体
* @see com.itv.launcher.util.IBaseDao#saveOrUpdate(java.lang.Object)
*/
@Override
public void saveOrUpdate(T t) {
this.getSession().saveOrUpdate(t);
}
/**
* <load>
* <加载实体的load方法>
* @param id 实体的id
* @return 查询出来的实�?
* @see com.itv.launcher.util.IBaseDao#load(java.io.Serializable)
*/
@Override
public T load(ID id) {
T load = (T) this.getSession().load(getEntityClass(), id);
return load;
}
/**
* <get>
* <查找的get方法>
* @param id 实体的id
* @return 查询出来的实�?
* @see com.itv.launcher.util.IBaseDao#get(java.io.Serializable)
*/
@Override
public T get(ID id) {
T load = (T) this.getSession().get(getEntityClass(), id);
return load;
}
/**
* <contains>
* @param t 实体
* @return 是否包含
* @see com.itv.launcher.util.IBaseDao#contains(java.lang.Object)
*/
@Override
public boolean contains(T t) {
return this.getSession().contains(t);
}
/**
* <delete>
* <删除表中的t数据>
* @param t 实体
* @see com.itv.launcher.util.IBaseDao#delete(java.lang.Object)
*/
@Override
public void delete(T t) {
this.getSession().delete(t);
}
/**
* <根据ID删除数据>
* @param Id 实体id
* @return 是否删除成功
* @see com.itv.launcher.util.IBaseDao#deleteById(java.io.Serializable)
*/
@Override
public boolean deleteById(ID Id) {
T t = get(Id);
if(t == null){
return false;
}
delete(t);
return true;
}
/**
* <删除�?��>
* @param entities 实体的Collection集合
* @see com.itv.launcher.util.IBaseDao#deleteAll(java.util.Collection)
*/
@Override
public void deleteAll(Collection<T> entities) {
for(Object entity : entities) {
this.getSession().delete(entity);
}
}
/**
* <执行Hql语句>
* @param hqlString hql
* @param values 不定参数数组
* @see com.itv.launcher.util.IBaseDao#queryHql(java.lang.String, java.lang.Object[])
*/
@Override
public void queryHql(String hqlString, Object... values) {
Query query = this.getSession().createQuery(hqlString);
if (values != null)
{
for (int i = 0; i < values.length; i++)
{
query.setParameter(i, values[i]);
}
}
query.executeUpdate();
}
/**
* <执行Sql语句>
* @param sqlString sql
* @param values 不定参数数组
* @see com.itv.launcher.util.IBaseDao#querySql(java.lang.String, java.lang.Object[])
*/
@Override
public void querySql(String sqlString, Object... values) {
Query query = this.getSession().createSQLQuery(sqlString);
if (values != null)
{
for (int i = 0; i < values.length; i++)
{
query.setParameter(i, values[i]);
}
}
query.executeUpdate();
}
/**
* <根据HQL语句查找唯一实体>
* @param hqlString HQL语句
* @param values 不定参数的Object数组
* @return 查询实体
* @see com.itv.launcher.util.IBaseDao#getByHQL(java.lang.String, java.lang.Object[])
*/
@Override
public T getByHQL(String hqlString, Object... values) {
Query query = this.getSession().createQuery(hqlString);
if (values != null)
{
for (int i = 0; i < values.length; i++)
{
query.setParameter(i, values[i]);
}
}
return (T) query.uniqueResult();
}
/**
* <根据SQL语句查找唯一实体>
* @param sqlString SQL语句
* @param values 不定参数的Object数组
* @return 查询实体
* @see com.itv.launcher.util.IBaseDao#getBySQL(java.lang.String, java.lang.Object[])
*/
@Override
public T getBySQL(String sqlString, Object... values) {
Query query = this.getSession().createSQLQuery(sqlString);
if (values != null)
{
for (int i = 0; i < values.length; i++)
{
query.setParameter(i, values[i]);
}
}
return (T) query.uniqueResult();
}
/**
* <根据HQL语句,得到对应的list>
* @param hqlString HQL语句
* @param values 不定参数的Object数组
* @return 查询多个实体的List集合
* @see com.itv.launcher.util.IBaseDao#getListByHQL(java.lang.String, java.lang.Object[])
*/
@Override
public List<T> getListByHQL(String hqlString, Object... values) {
Query query = this.getSession().createQuery(hqlString);
if (values != null)
{
for (int i = 0; i < values.length; i++)
{
query.setParameter(i, values[i]);
}
}
return query.list();
}
/**
* <根据SQL语句,得到对应的list>
* @param sqlString HQL语句
* @param values 不定参数的Object数组
* @return 查询多个实体的List集合
* @see com.itv.launcher.util.IBaseDao#getListBySQL(java.lang.String, java.lang.Object[])
*/
@Override
public List<T> getListBySQL(String sqlString, Object... values ) {
Query query = this.getSession().createSQLQuery(sqlString);
if (values != null)
{
for (int i = 0; i < values.length; i++)
{
query.setParameter(i, values[i]);
}
}
return query.list();
}
/**
* 由sql语句得到List
* @param sql
* @param map
* @param values
* @return List
* @see com.itv.launcher.util.IBaseDao#findListBySql(java.lang.String, com.itv.launcher.util.RowMapper, java.lang.Object[])
*/
@Override
public List findListBySql(final String sql, final RowMapper map, final Object... values) {
final List list = new ArrayList();
// 执行JDBC的数据批量保�?
Work jdbcWork = new Work()
{
public void execute(Connection connection)
throws SQLException
{
PreparedStatement ps = null;
ResultSet rs = null;
try
{
ps = connection.prepareStatement(sql);
for (int i = 0; i < values.length; i++)
{
setParameter(ps, i, values[i]);
}
rs = ps.execute
没有合适的资源?快使用搜索试试~ 我知道了~
springMVC4.0.6+spring4.0.6+hibernate4.3.6
共96个文件
jar:49个
class:11个
java:10个
3星 · 超过75%的资源 需积分: 10 22 下载量 106 浏览量
2014-09-15
17:52:46
上传
评论 2
收藏 17.78MB ZIP 举报
温馨提示
springMVC4.0.6+spring4.0.6+hibernate4.3.6框架,基本的包结构,dao基础类的封装,rowmapper,分页等工具类的封装。
资源推荐
资源详情
资源评论
收起资源包目录
SpringMVCSpringHibernate.zip (96个子文件)
SpringMVCSpringHibernate
resources
log4j.properties 934B
db.properties 184B
hibernate.cfg.xml 1KB
applicationContext.xml 4KB
db.properties.bak 187B
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.core.resources.prefs 57B
org.eclipse.wst.common.component 590B
org.eclipse.wst.jsdt.ui.superType.container 49B
.jsdtscope 500B
org.eclipse.jdt.core.prefs 364B
src
com
itv
weixin
dao
IBaseDao.java 4KB
impl
BaseDao.java 13KB
UserDaoImpl.java 278B
IUserDao.java 133B
pojo
User.hbm.xml 561B
User.java 452B
controller
TestController.java 776B
service
IUserService.java 142B
impl
UserServiceImpl.java 698B
util
RowMapper.java 270B
PageResults.java 2KB
.project 2KB
WebRoot
META-INF
MANIFEST.MF 36B
WEB-INF
web.xml 2KB
spring-servlet.xml 1KB
pages
index.jsp 834B
classes
log4j.properties 934B
com
itv
weixin
dao
IUserDao.class 268B
IBaseDao.class 1KB
impl
UserDaoImpl.class 597B
BaseDao.class 10KB
BaseDao$1.class 2KB
pojo
User.hbm.xml 561B
User.class 815B
controller
TestController.class 1KB
service
IUserService.class 178B
impl
UserServiceImpl.class 1KB
util
PageResults.class 2KB
RowMapper.class 230B
db.properties 184B
hibernate.cfg.xml 1KB
applicationContext.xml 4KB
lib
hibernate-jpa-2.1-api-1.0.0.Final.jar 111KB
ezmorph-1.0.6.jar 84KB
dom4j-1.6.1.jar 307KB
commons-collections-3.2.1.jar 562KB
mysql-connector-java-5.1.7-bin.jar 693KB
hibernate-core-4.3.6.Final.jar 5.01MB
slf4j-log4j12-1.6.1.jar 10KB
spring-beans-4.0.6.RELEASE.jar 655KB
xstream-1.3.jar 401KB
spring-core-4.0.6.RELEASE.jar 954KB
aopalliance-1.0.jar 4KB
antlr-2.7.7.jar 435KB
asm-tree-3.3.jar 21KB
spring-tx-4.0.6.RELEASE.jar 243KB
spring-context-4.0.6.RELEASE.jar 955KB
mchange-commons-java-0.2.3.4.jar 568KB
jackson-core-asl-1.8.7.jar 222KB
spring-expression-4.0.6.RELEASE.jar 201KB
asm-3.3.jar 43KB
slf4j-api-1.6.1.jar 25KB
spring-build-src-4.0.6.RELEASE.jar 71KB
hibernate-c3p0-4.3.6.Final.jar 39KB
commons-logging-1.1.1.jar 59KB
commons-beanutils-1.8.0.jar 226KB
spring-jdbc-4.0.6.RELEASE.jar 415KB
spring-websocket-4.0.6.RELEASE.jar 274KB
jboss-logging-annotations-1.2.0.Beta1.jar 11KB
jandex-1.1.0.Final.jar 75KB
spring-webmvc-4.0.6.RELEASE.jar 647KB
jboss-logging-3.1.3.GA.jar 56KB
spring-context-support-4.0.6.RELEASE.jar 132KB
spring-test-4.0.6.RELEASE.jar 439KB
spring-web-4.0.6.RELEASE.jar 657KB
spring-orm-4.0.6.RELEASE.jar 359KB
javassist-3.18.1-GA.jar 697KB
aspectjweaver.jar 1.47MB
commons-logging-1.1.3.jar 61KB
c3p0-0.9.2.1.jar 414KB
hibernate-commons-annotations-4.0.5.Final.jar 74KB
commons-lang-2.4.jar 256KB
asm-commons-3.3.jar 37KB
jboss-transaction-api_1.2_spec-1.0.0.Final.jar 27KB
log4j-1.2.15.jar 383KB
spring-oxm-4.0.6.RELEASE.jar 79KB
commons-lang-2.5.jar 273KB
json-lib-2.4-jdk15.jar 155KB
spring-aspects-4.0.6.RELEASE.jar 51KB
jackson-mapper-asl-1.8.7.jar 652KB
spring-aop-4.0.6.RELEASE.jar 345KB
index.jsp 834B
.mymetadata 345B
.classpath 577B
.myeclipse
共 96 条
- 1
资源评论
- 键盘tops舞者2017-03-10看看例子,不求运行,还好
- hc3454432942014-09-23本想看下springMVC。但你这吝啬的代码,不如不传........应该没写完整一个例子把闫洲2014-09-29在搭建框架的时候,有测试的例子,我觉得测试的例子不能说明什么,我就把他删了,只留下了壳
闫洲
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功