Hibernate框架中使用SESSION.SAVE方法存不了数据到数据库.请求帮忙
我的ZhuceDao中的insert方法publicvoidinsert(Stringusername,Stringpassword,Stringaddress,Stri...
我的ZhuceDao中的insert方法
public void insert(String username,String password,String address,String phone){
System.out.println("----------begin---------");
Configuration cfg = new Configuration().configure();
SessionFactory sf = cfg.buildSessionFactory();
Session session = sf.openSession();
if (null != session && session.isOpen()) {
Transaction t = session.beginTransaction();
ZhuceAction z = new ZhuceAction();
z.setUsername(username);
z.setPassword(password);
z.setAddress(address);
z.setPhone(phone);
try {
session.save(z);
} catch (HibernateException e) {
e.printStackTrace();
}
t.commit();
System.out.println("---------end--------------");
}
zhuce.xml文档 加载进STRUTS.XML中了
<package name="tonghuaiyuan" namespace="/" extends="struts-default">
<!-- 用户注册的action -->
<action name="zhuce" class="com.action.ZhuceAction" method="zhuce">
<result name="zhuce">/zhuce.jsp</result>
<result name="zhuceok">/zhuceok.jsp</result>
</action>
另外还有个报错 org.hibernate.MappingException: Unknown entity: com.action.ZhuceAction 是不是找不到我zhuce.xml中的com.action.ZhuceAction类?可是路径没错啊 我在ZhuceAction类中可以调取到JSP中的各项填写的数值.但是穿到ZhuceDao中就存不进去了 小弟第一次用框架管理数据库.忘不吝赐教. 另外 我之前写的一个login方法也是用的Hibernate框架就可以正确的访问数据库信息并且登录 展开
public void insert(String username,String password,String address,String phone){
System.out.println("----------begin---------");
Configuration cfg = new Configuration().configure();
SessionFactory sf = cfg.buildSessionFactory();
Session session = sf.openSession();
if (null != session && session.isOpen()) {
Transaction t = session.beginTransaction();
ZhuceAction z = new ZhuceAction();
z.setUsername(username);
z.setPassword(password);
z.setAddress(address);
z.setPhone(phone);
try {
session.save(z);
} catch (HibernateException e) {
e.printStackTrace();
}
t.commit();
System.out.println("---------end--------------");
}
zhuce.xml文档 加载进STRUTS.XML中了
<package name="tonghuaiyuan" namespace="/" extends="struts-default">
<!-- 用户注册的action -->
<action name="zhuce" class="com.action.ZhuceAction" method="zhuce">
<result name="zhuce">/zhuce.jsp</result>
<result name="zhuceok">/zhuceok.jsp</result>
</action>
另外还有个报错 org.hibernate.MappingException: Unknown entity: com.action.ZhuceAction 是不是找不到我zhuce.xml中的com.action.ZhuceAction类?可是路径没错啊 我在ZhuceAction类中可以调取到JSP中的各项填写的数值.但是穿到ZhuceDao中就存不进去了 小弟第一次用框架管理数据库.忘不吝赐教. 另外 我之前写的一个login方法也是用的Hibernate框架就可以正确的访问数据库信息并且登录 展开
展开全部
你可以查一下你的配置文件(xxx.cfg.xml)中是否正确添加了映射文件(xxx.hbm.xml).
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个.... 首先它报未知实体, 你的bean类有没有写持久化对应? 看你的文件类好像没有写,还是你用注解配置的?
而且Action就是Action, 你不能让他去兼职bean ,
还有一种解决办法就是直接执行sql文 ,你可以试下
?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="bean.Ry.Person" table="PERSON" schema="SCOTT">
<id name="personid" type="java.lang.Long">
<column name="PERSONID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">PERSON_ID_SQ</param>
</generator>
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="20" />
</property>
<property name="pwd" type="java.lang.String">
<column name="PWD" length="20" />
</property>
<property name="DId" type="java.lang.String">
<column name="D_ID" length="0" />
</property>
<property name="SId" type="java.lang.Long">
<column name="S_ID" precision="22" scale="0" />
</property>
<property name="popedom" type="java.lang.Long">
<column name="POPEDOM" precision="22" scale="0" />
</property>
<property name="sex" type="java.lang.String">
<column name="SEX" length="2" />
</property>
<property name="borthday" type="java.util.Date">
<column name="BORTHDAY" length="7" />
</property>
<property name="school" type="java.lang.String">
<column name="SCHOOL" length="100" />
</property>
</class>
</hibernate-mapping>
而且Action就是Action, 你不能让他去兼职bean ,
还有一种解决办法就是直接执行sql文 ,你可以试下
?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="bean.Ry.Person" table="PERSON" schema="SCOTT">
<id name="personid" type="java.lang.Long">
<column name="PERSONID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">PERSON_ID_SQ</param>
</generator>
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="20" />
</property>
<property name="pwd" type="java.lang.String">
<column name="PWD" length="20" />
</property>
<property name="DId" type="java.lang.String">
<column name="D_ID" length="0" />
</property>
<property name="SId" type="java.lang.Long">
<column name="S_ID" precision="22" scale="0" />
</property>
<property name="popedom" type="java.lang.Long">
<column name="POPEDOM" precision="22" scale="0" />
</property>
<property name="sex" type="java.lang.String">
<column name="SEX" length="2" />
</property>
<property name="borthday" type="java.util.Date">
<column name="BORTHDAY" length="7" />
</property>
<property name="school" type="java.lang.String">
<column name="SCHOOL" length="100" />
</property>
</class>
</hibernate-mapping>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一题
import java.util.Scanner;
public class First
{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
System.out.println("请输入一个数字");
int n=in.nextInt();
System.out.println(n+"的阶乘是:"+factorial(n));
}
public static int factorial(int m)
{
if(m==1)
return(1);
else
return(factorial(m-1)*m);
}
}
import java.util.Scanner;
public class First
{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
System.out.println("请输入一个数字");
int n=in.nextInt();
System.out.println(n+"的阶乘是:"+factorial(n));
}
public static int factorial(int m)
{
if(m==1)
return(1);
else
return(factorial(m-1)*m);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询