自己看书弄了个HelloWorld,插入数据到数据库没有成功没有成功。
Mymain类代码package helloworld;import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;public class MyMain{
//private static String configFile="/hibernate.cfg.xml";
private static Configuration configuration=new Configuration();
//private static final ThreadLocal<Session> threadLocal=new ThreadLocal<Session>();
//private static SessionFactory sessionFactory;
/*static{
try{
configuration.configure(configFile);
sessionFactory=configuration.buildSessionFactory();
}catch(Exception e){
e.printStackTrace();
}
}
public static Session getSession(){
Session session=(Session)threadLocal.get();
if(session==null || !session.isOpen()){
session=sessionFactory.openSession();
threadLocal.set(session);
}
return session;
}*/
public static void main(String[] args){
Session session=null;
Transaction trans=null;
try{
//session=HibernateSessionFactory.getSession();
//session=getSession();
SessionFactory sf=configuration.configure().buildSessionFactory();
session=sf.openSession();
trans=session.beginTransaction();
User[] users=new User[5];
for(int i=0;i<users.length;i++){
users[i]=new User("User"+i,"pwd");
session.save(users[i]);
System.out.println(i);
}
session.getTransaction().commit();
}catch(HibernateException e){
System.out.println("I am failed!");
if(trans!=null)
trans.rollback();
}finally{
if(session!=null)
session.close();
}
}
}实体类代码package helloworld;public class User {
private int id;
private String username;
private String password;
public User(){
super();
}
public User(String username,String password){
super();
this.username=username;
this.password=password;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
}
}
映射文件<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="User" table="users">
<id name="id" column="id">
<generator class="native"></generator>
</id>
<property name="username" unique="true" not-null="true" length="20" column="username"></property>
<property name="password" unique="true" not-null="true" length="20" column="password"></property>
</class></hibernate-mapping>
配置文件<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<mapping resource="helloworld/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
运行后的信息2013-1-5 21:59:09 org.hibernate.cfg.Environment <clinit>
信息: Hibernate 3.2.5
2013-1-5 21:59:09 org.hibernate.cfg.Environment <clinit>
信息: hibernate.properties not found
2013-1-5 21:59:09 org.hibernate.cfg.Environment buildBytecodeProvider
信息: Bytecode provider name : cglib
2013-1-5 21:59:09 org.hibernate.cfg.Environment <clinit>
信息: using JDK 1.4 java.sql.Timestamp handling
2013-1-5 21:59:09 org.hibernate.cfg.Configuration configure
信息: configuring from resource: /hibernate.cfg.xml
2013-1-5 21:59:09 org.hibernate.cfg.Configuration getConfigurationInputStream
信息: Configuration resource: /hibernate.cfg.xml
2013-1-5 21:59:09 org.hibernate.cfg.Configuration addResource
信息: Reading mappings from resource : helloworld/User.hbm.xml
2013-1-5 21:59:09 org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
信息: Mapping class: User -> users
I am failed!其实都是看书,敲出来的代码。求解,怎么插入数据呢
Mymain类代码package helloworld;import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;public class MyMain{
//private static String configFile="/hibernate.cfg.xml";
private static Configuration configuration=new Configuration();
//private static final ThreadLocal<Session> threadLocal=new ThreadLocal<Session>();
//private static SessionFactory sessionFactory;
/*static{
try{
configuration.configure(configFile);
sessionFactory=configuration.buildSessionFactory();
}catch(Exception e){
e.printStackTrace();
}
}
public static Session getSession(){
Session session=(Session)threadLocal.get();
if(session==null || !session.isOpen()){
session=sessionFactory.openSession();
threadLocal.set(session);
}
return session;
}*/
public static void main(String[] args){
Session session=null;
Transaction trans=null;
try{
//session=HibernateSessionFactory.getSession();
//session=getSession();
SessionFactory sf=configuration.configure().buildSessionFactory();
session=sf.openSession();
trans=session.beginTransaction();
User[] users=new User[5];
for(int i=0;i<users.length;i++){
users[i]=new User("User"+i,"pwd");
session.save(users[i]);
System.out.println(i);
}
session.getTransaction().commit();
}catch(HibernateException e){
System.out.println("I am failed!");
if(trans!=null)
trans.rollback();
}finally{
if(session!=null)
session.close();
}
}
}实体类代码package helloworld;public class User {
private int id;
private String username;
private String password;
public User(){
super();
}
public User(String username,String password){
super();
this.username=username;
this.password=password;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
}
}
映射文件<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="User" table="users">
<id name="id" column="id">
<generator class="native"></generator>
</id>
<property name="username" unique="true" not-null="true" length="20" column="username"></property>
<property name="password" unique="true" not-null="true" length="20" column="password"></property>
</class></hibernate-mapping>
配置文件<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<mapping resource="helloworld/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
运行后的信息2013-1-5 21:59:09 org.hibernate.cfg.Environment <clinit>
信息: Hibernate 3.2.5
2013-1-5 21:59:09 org.hibernate.cfg.Environment <clinit>
信息: hibernate.properties not found
2013-1-5 21:59:09 org.hibernate.cfg.Environment buildBytecodeProvider
信息: Bytecode provider name : cglib
2013-1-5 21:59:09 org.hibernate.cfg.Environment <clinit>
信息: using JDK 1.4 java.sql.Timestamp handling
2013-1-5 21:59:09 org.hibernate.cfg.Configuration configure
信息: configuring from resource: /hibernate.cfg.xml
2013-1-5 21:59:09 org.hibernate.cfg.Configuration getConfigurationInputStream
信息: Configuration resource: /hibernate.cfg.xml
2013-1-5 21:59:09 org.hibernate.cfg.Configuration addResource
信息: Reading mappings from resource : helloworld/User.hbm.xml
2013-1-5 21:59:09 org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
信息: Mapping class: User -> users
I am failed!其实都是看书,敲出来的代码。求解,怎么插入数据呢
解决方案 »
- 第一个Struts程序,eclipse环境下总是提示resource is not available
- java
- 域名解析问题
- jdbc在插入日期类型时出错
- jsf自定义标签问题
- 大家评论一下,这样的站算是大站还是小站?用了JMS,PHP,2台服务器,STRUTS,等技术
- 预编译的错误
- SOS:菜鸟提问--类的多态性出现的错误?
- 我在装了jdk和tomcat4.1后,启动startup.bat,提示“找不到文件“-Djava.endorsed.dirs=”(或它的组件之一)。请确定路径和文件名是否正确
- 刚学习struts,迷惑一个问题,想确定一下。
- 请教大神啊,我用ODBC连接数据库总是抛出异常,求大神指教啊
- 怎么在这代码里添加按钮图片
package com.briup.hibernate.basic;import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;import com.briup.hibernate.pojo.Student;
public class FirstHibernate {
public static void main(String[] args) {
//1.使用configuration初始化hibernate读取配置文件
Configuration config=new Configuration();
config.configure();//默认加载hibernate.cfg.xml的配置文件
//config.configure("hibernate.cfg.xml");//配置文件自定义配置
//2构建sessionfactory
SessionFactory fac=config.buildSessionFactory();
//3生成session
//session是一个接口,openSession实现的接口的对象
Session session=fac.openSession();//使用默认session
Session session2=fac.getCurrentSession();
//System.out.println(session2);
//4.开始事务
Student s=new Student();
s.setId(1);
s.setName("briup");
s.setAddress("briup");
s.setAge(12);
Transaction tr=session.beginTransaction();
session.save(s);//提交操作s
//save delete update
tr.commit();
session.close();
}
}package com.briup.hibernate.pojo;import java.io.Serializable;import javax.persistence.Column;import org.hibernate.annotations.Entity;
public class Student implements Serializable{ private Long id;
private String name;
private String address;
private int age;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Student(long id, String name, String address, int age) {
super();
this.id = id;
this.name = name;
this.address = address;
this.age = age;
}
public Student() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", address=" + address
+ ", age=" + age + "]";
}
}配置文件:
student.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"><hibernate-mapping package="com.briup.hibernate.pojo" >
<class name="Student" table="student" >
<id name="id" column="id">
</id>
<property name="name" column="name"></property>
<property name="address" column="address"></property>
<property name="age" column="age"></property>
</class>
</hibernate-mapping>
注意账户名密码以及数据库url别复制<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="dialect">
org.hibernate.dialect.Oracle10gDialect
</property>
<property name="connection.url">
jdbc:oracle:thin:@127.0.0.1:1521:xe
</property>
<property name="connection.username">briup</property>
<property name="connection.password">briup</property>
<property name="connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<property name="show_sql">true</property><!-- 鏄剧ずsql璇彞-->
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<property name="current_session_context_class">thread</property>
<mapping resource="com/briup/hibernate/pojo/Student.hbm.xml </session-factory>
</hibernate-configuration>