求助!myeclipise调用自动生成的DAO出错

u010162389 2015-04-14 01:15:37
自己写了一个简单的SSH框架实例 就是把jsp表单里的数据存到数据库(mysql)里;其中DAO和pojo是用myeclipise反向工程自动生成的。一直报错 (已经折磨我一个星期了 大神快来拯救我)
HTTP Status 500 - Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection

type Exception report

message Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
org.springframework.orm.hibernate4.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:518)
.........
domain.BookDAO$$EnhancerBySpringCGLIB$$6268cd23.save(<generated>)
service.ServiceImpl.save(ServiceImpl.java:21)
action.SaveBookAction.execute(SaveBookAction.java:37)


我的struts.xml文件代码:

<struts>
<constant name="struts.objectFactory" value="spring" />
<package name="book" namespace="" extends="struts-default">
<action name="login" class="saveBook">
<result name="success">/jsp/success.jsp</result>
</action>
</package>
</struts>


applicationContext.xml代码:

<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd" xmlns:tx="http://www.springframework.org/schema/tx">


<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="url" value="jdbc:mysql://localhost:3306/book"></property>
<property name="username" value="root"></property>
<property name="password" value="263015"></property>
<property name="initialSize" value="3"></property>
<property name="maxActive" value="500"></property>
<property name="maxIdle" value="2"></property>
<property name="minIdle" value="1"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>domain/Book.hbm.xml</value></list>
</property></bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

<bean id="BookDAO" class="domain.BookDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="Serviceimpl" class="service.ServiceImpl">
<property name="bookDAO" ref="BookDAO"></property>
</bean>
<bean id="saveBook" class="action.SaveBookAction">
<property name="funService" ref="Serviceimpl"></property>
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
</beans>


action的代码:

public class SaveBookAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private Book book;
private ServiceImpl funService;

public Book getBook() {
return book;
}

public void setBook(Book book) {
this.book = book;
}

public FunService getFunService() {
return funService;
}

public void setFunService(ServiceImpl funService) {
this.funService = funService;
}

@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("****************");
this.funService.save(book);
return SUCCESS;
}
}



...全文
164 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Robert_110 2015-04-21
  • 打赏
  • 举报
回复
看下是不是缺少MySQL-Connector-java.jar
u010162389 2015-04-15
  • 打赏
  • 举报
回复
来人啊啊
u010162389 2015-04-14
  • 打赏
  • 举报
回复
没有人吗?快来人啊
u010162389 2015-04-14
  • 打赏
  • 举报
回复
自动生成的DAO 和pojo

public class Book implements java.io.Serializable {

	// Fields

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer id;
	private String username;
	private String password;
	private Integer age;

	// Constructors

	/** default constructor */
	public Book() {
	}

	/** minimal constructor */
	public Book(String username, Integer age) {
		this.username = username;
		this.age = age;
	}

	/** full constructor */
	public Book(String username, String password, Integer age) {
		this.username = username;
		this.password = password;
		this.age = age;
	}

	// Property accessors

	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getUsername() {
		return this.username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Integer getAge() {
		return this.age;
	}

	public void setAge(String age) {
		this.age = Integer.parseInt(age);
	    System.out.println(this.age);
	}

}

package domain;

import java.util.List;

import org.hibernate.LockOptions;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.criterion.Example;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.orm.hibernate4.support.HibernateDaoSupport;
import org.springframework.transaction.annotation.Transactional;

/**
 * A data access object (DAO) providing persistence and search support for Book
 * entities. Transaction control of the save(), update() and delete() operations
 * can directly support Spring container-managed transactions or they can be
 * augmented to handle user-managed Spring transactions. Each of these methods
 * provides additional information for how to configure it for the desired type
 * of transaction control.
 * 
 * @see domain.Book
 * @author MyEclipse Persistence Tools
 */
@Transactional
public class BookDAO extends  HibernateDaoSupport{
	private static final Logger log = LoggerFactory.getLogger(BookDAO.class);
	// property constants
	public static final String USERNAME = "username";
	public static final String PASSWORD = "password";
	public static final String AGE = "age";

	private SessionFactory sessionFactory;

	private Session getCurrentSession() {
		return sessionFactory.getCurrentSession();
	}

	protected void initDao() {
		// do nothing
	}

	public void save(Book transientInstance) {
		//System.out.println("-------------");
		//Transaction tr = currentSession().beginTransaction();
		//Transaction transaction= getCurrentSession().beginTransaction(); 
		log.debug("saving Book instance");
		try {
			getCurrentSession().save(transientInstance);
			//getHibernateTemplate().save(transientInstance);
			//tr.commit(); 
			log.debug("save successful");
		} catch (RuntimeException re) {
			log.error("save failed", re);
			throw re;
		}
	}

	public void delete(Book persistentInstance) {
		log.debug("deleting Book instance");
		try {
			getCurrentSession().delete(persistentInstance);
			log.debug("delete successful");
		} catch (RuntimeException re) {
			log.error("delete failed", re);
			throw re;
		}
	}

	public Book findById(java.lang.Integer id) {
		log.debug("getting Book instance with id: " + id);
		try {
			Book instance = (Book) getCurrentSession().get("domain.Book", id);
			return instance;
		} catch (RuntimeException re) {
			log.error("get failed", re);
			throw re;
		}
	}

	public List findByExample(Book instance) {
		log.debug("finding Book instance by example");
		try {
			List results = getCurrentSession().createCriteria("domain.Book")
					.add(Example.create(instance)).list();
			log.debug("find by example successful, result size: "
					+ results.size());
			return results;
		} catch (RuntimeException re) {
			log.error("find by example failed", re);
			throw re;
		}
	}

	public List findByProperty(String propertyName, Object value) {
		log.debug("finding Book instance with property: " + propertyName
				+ ", value: " + value);
		try {
			String queryString = "from Book as model where model."
					+ propertyName + "= ?";
			Query queryObject = getCurrentSession().createQuery(queryString);
			queryObject.setParameter(0, value);
			return queryObject.list();
		} catch (RuntimeException re) {
			log.error("find by property name failed", re);
			throw re;
		}
	}

	public List findByUsername(Object username) {
		return findByProperty(USERNAME, username);
	}

	public List findByPassword(Object password) {
		return findByProperty(PASSWORD, password);
	}

	public List findByAge(Object age) {
		return findByProperty(AGE, age);
	}

	public List findAll() {
		log.debug("finding all Book instances");
		try {
			String queryString = "from Book";
			Query queryObject = getCurrentSession().createQuery(queryString);
			return queryObject.list();
		} catch (RuntimeException re) {
			log.error("find all failed", re);
			throw re;
		}
	}

	public Book merge(Book detachedInstance) {
		log.debug("merging Book instance");
		try {
			Book result = (Book) getCurrentSession().merge(detachedInstance);
			log.debug("merge successful");
			return result;
		} catch (RuntimeException re) {
			log.error("merge failed", re);
			throw re;
		}
	}

	public void attachDirty(Book instance) {
		log.debug("attaching dirty Book instance");
		try {
			getCurrentSession().saveOrUpdate(instance);
			log.debug("attach successful");
		} catch (RuntimeException re) {
			log.error("attach failed", re);
			throw re;
		}
	}

	public void attachClean(Book instance) {
		log.debug("attaching clean Book instance");
		try {
			getCurrentSession().buildLockRequest(LockOptions.NONE).lock(
					instance);
			log.debug("attach successful");
		} catch (RuntimeException re) {
			log.error("attach failed", re);
			throw re;
		}
	}
}
然后是自己变得service接口和类:
package service;

import domain.Book;

public interface FunService {
	public void save(Book b);
}


package service;


import domain.Book;
import domain.BookDAO;

public class ServiceImpl implements FunService{
	private BookDAO bookDAO;

	public BookDAO getBookDAO() {
		return bookDAO;
	}

	public void setBookDAO(BookDAO bookDAO) {
		this.bookDAO = bookDAO;
	}
	@Override
	public void save(Book b) {
		// TODO Auto-generated method stub
		//System.out.println("----------------");
		this.bookDAO.save(b);
		}
}

本系统提出了一套面向MRI全心脏分割任务的端到端深度学习解决方案,其核心创新在于将Swin Transformer作为编码器骨干网络,充分挖掘心脏MRI图像中的全局上下文信息与局部细节特征,同时引入4通道输入机制,在传统RGB三通道图像基础上额外拼接一个点提示编码通道,支持用户通过鼠标交互在图像上自由标注前景(心脏区域)与背景点,从而将先验空间信息显式地融入网络前向传播过程,实现基于稀疏标注引导的精准分割。在解码阶段,系统采用U型对称结构,通过逐步上采样与跳跃连接逐级恢复特征图分辨率,最终输出二值分割掩膜(前景/背景),有效区分心脏区域与其他组织。训练过程中,系统选用交叉熵损失函数,配合AdamW优化器与余弦退火学习率调度策略,确保模型在训练集和验证集上稳定收敛,并在每个epoch结束后自动计算全局像素准确率、平均交并比(mIoU)、平均Dice系数、平均精确率、平均召回率及平均F1分数等多项评估指标,全方位监控模型性能。系统内置了完整的训练日志保存、损失曲线与性能曲线绘制、学习率衰减可视化等功能模块,便于用户直观分析训练过程并调优超参数。在推理应用层面,系统封装了基于Tkinter框架的图形化交互界面,用户可上传任意MRI切片图像,通过鼠标左键/右键分别添加前景/背景点,点击“执行分割”按钮后即可实时生成叠加了红色半透明掩膜的分割结果图像,支持点集的增删与重置操作,交互响应灵敏,操作逻辑直观清晰。整体而言,本系统不仅实现了从多模态数据加载、交互式标注编码、基于Transformer的分割建模到图形化推理部署的全链路覆盖,更在算法层面通过点提示引导机制与Swin Transformer结构的高效结合,显著降低了对大规模标注数据的依赖,同时提升了模型对心脏边界模糊、形态变异及邻近组织干扰的鲁棒性,为心血管疾病的计算机辅助诊断、术前规划及定量分析提供了一种兼具精度与灵活性的智能
针对心脏MRI图像中边界模糊、器官形变复杂以及标注成本高昂等痛点,本研究构建了一套以Swin Transformer为编码基座、融合人机交互机制的轻量化分割系统。该方案跳出传统全自动分割的思维定式,转而采纳“模型推理+专家微调”的协同策略,在模型输入层开辟了一条额外的点提示通道,允许操作者通过鼠标标记少量前景或背景点,将这些位置信息与图像特征并行馈入网络,从而将抽象的空间先验转化为可微分的学习信号,使得分割结果能够灵活响应个体差异与局部歧义。编码端采用基于移位窗口注意力的Transformer结构,以分层递降的分辨率捕获全局感受野下的解剖结构关联,解码端则通过逐步上采样与跨层特征拼接恢复空间细节,最终输出逐像素的二分类概率图。训练数据来自心脏MRI多切片序列,每张样本不仅包含原始影像与对应金标准掩膜,还通过随机采样前景点的方式模拟真实交互场景,迫使模型学会如何从稀疏的点监督中推断完整器官轮廓。损失函数选用标准交叉熵,用以衡量预测概率与真实标签之间的分布差异,同时引入混淆矩阵模块对训练与验证阶段的像素精度、召回率、F1分数、Dice系数及平均交并比进行逐轮次追踪,所有评估曲线均自动落盘保存,便于横向对比不同超参数配置下的性能演变规律。在工具链末端,系统配套开发了一个基于Tkinter的事件驱动型图形界面,将模型推理、点标注、结果渲染与图像交互四个环节无缝串联。用户上传图像后,可通过左键与右键分别部署正负样本点,随后系统自动完成坐标缩放、通道拼接、前向传播与掩膜重采样,最终在原始影像上叠加半透明彩色蒙层,清晰勾勒出模型判定的心脏区域。整套代码逻辑紧密、模块边界清晰,既可作为医学影像分割领域的教学范例,亦可经过少量适配迁移至其他器官或模态的交互式标注任务中,具备良好的扩展潜力与实用价值。

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧