[size=small]
数据库里面就一张表person,id & name字段,个人感觉没有错,可是就是有问题。代码如下:
[code="java"]
jdbc:mysql://localhost:3306/helloword
root
admin
com.mysql.jdbc.Driver
org.hibernate.dialect.MySQLDialect
mysql
<mapping resource="com/dlcity/hibernate/helloHibernate/Person.hbm.xml" />
<mapping class="com.dlcity.hibernate.helloHibernate.Person" />
[/code]
[code="java"]
public class PersonOperate {
private Session session = null;
public PersonOperate(){
//找到hibernate配置
Configuration config = new Configuration().configure();
//从配置中找出SessionFactory
SessionFactory sessions = config.buildSessionFactory();
//打开session
this.session = sessions.openSession();
}
public void insert(Person p){
//开始事务
Transaction tran = this.session.beginTransaction();
//执行操作
this.session.save(p);
//提交事务
tran.commit();
}
}[/code]
[code="java"]
public class TestPO {
public static void main(String[] args){
Person p = new Person();
p.setId(3);
p.setName("testpo");
PersonOperate po = new PersonOperate();
po.insert(p);
}
}[/code]
[code="java"]
[/code]
异常如下:
[code="java"]
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.hibernate.MappingException: An AnnotationConfiguration instance is required to use
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1692)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1647)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1626)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1600)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1520)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1506)
at com.dlcity.hibernate.helloHibernate.PersonOperate.(PersonOperate.java:25)
at com.dlcity.hibernate.helloHibernate.TestPO.main(TestPO.java:10)
[/code]
[/size]