hibernate 整合spring 数据插不进去

zcqzcq 2008-06-06 11:03:41
hibernate 整合spring 数据插不进去 困扰一天了 大家帮我 数据库用的是oracle

只剩50分了 对不起啦 呵呵 大家帮个忙 谢谢


DaoImp.java

package com.zcq.dao;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class DaoImp extends HibernateDaoSupport {
public void insert(Zcqbb as)
{
this.getSession().save(as);
this.getSession().beginTransaction().commit();
}

}



Test.java

package com.zcq.dao;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;



public class Test {

public static void main(String[] args) {

ApplicationContext ctx=null;
ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
DaoImp dao=(DaoImp) ctx.getBean("daoimp");
Zcqbb bb=new Zcqbb();

bb.setUsername("zcq");
bb.setPassword("zz");
dao.insert(bb);
}
}






applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">


<bean id="datasource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url"
value="jdbc:oracle:thin:@localhost:1521:zcqzcq">
</property>
<property name="username" value="zcqzcq"></property>
<property name="password" value="zcqzcq"></property>

</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="datasource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/zcq/dao/Asdas.hbm.xml</value>
<value>com/zcq/dao/Zcqbb.hbm.xml</value></list>
</property>


</bean>


<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">

<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="allowCreate">
<value>true</value>
</property>

</bean>

<bean id="daoimp" class="com.zcq.dao.DaoImp">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>

</bean>

</beans>

Zcqbb.hbm.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.zcq.dao.Zcqbb" table="ZCQBB">
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="increment" />
</id>
<property name="username" type="java.lang.String">
<column name="USERNAME" length="100" />
</property>
<property name="password" type="java.lang.String">
<column name="PASSWORD" length="100" />
</property>
</class>
</hibernate-mapping>

...全文
188 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcqzcq 2008-06-06
  • 打赏
  • 举报
回复
已结帐。
M_song 2008-06-06
  • 打赏
  • 举报
回复
恩,可以的!
 public void insert(User user)
{
Session session=sessionFactory.openSession();
Transaction tx=session.beginTransaction();
session.save(user);
tx.commit();
session.close();
}
zcqzcq 2008-06-06
  • 打赏
  • 举报
回复
我的那个session 关闭 就直接写在那个dao里 没什么问题吧??
M_song 2008-06-06
  • 打赏
  • 举报
回复
恩,ok就行,但你知道原因么?
这样写就是在同一个session中!

其实先前你那是属于事务未提交!
zcqzcq 2008-06-06
  • 打赏
  • 举报
回复
谢谢你们 我解决了 呵呵】】】



修改
public void insert(Zcqbb as)
{
Session session=this.getSession();
session.save(as);
session.beginTransaction().commit();

}

就OK了
burningice44 2008-06-06
  • 打赏
  • 举报
回复
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="increment" />
</id>

上面代码中,如果你的主键id是自动生成的,那么在<generator class="increment" />处
应该配置上你建立的序列。要不id插入不了,就会出错。
M_song 2008-06-06
  • 打赏
  • 举报
回复
有什么异常或者错误的提示,贴出来!

67,538

社区成员

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

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