今天我在网上查的Hibernate学习的基础的第一个简单例子。
实体类代码如下:
package domain; public class News { //news members private Integer userID; private String userName; private String rname; private String pwd; private String sex; public Integer getUserID() { return userID; } public void setUserID(Integer userID) { this.userID = userID; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getRname() { return rname; } public void setRname(String rname) { this.rname = rname; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } private String email; }
main方法类代码如下:
package lee; import org.hibernate.*; import org.hibernate.cfg.*; import domain.*; public class NewsManager { public static void main(String[] args)throws Exception { //实例化Configuration;configure()方法会负责加载hibernate.cfg.xml文件 Configuration conf = new Configuration().configure("hibernate.cfg.xml"); //create SessionFactory @SuppressWarnings("deprecation") SessionFactory sf = conf.buildSessionFactory(); //create Session Session sess = sf.openSession(); //create transaction Transaction tx = sess.beginTransaction(); //To insert data in db by the method News n = new News(); n.setEmail("af"); n.setPwd("124"); n.setRname("a"); n.setSex("male"); n.setUserID(1314321); n.setUserName("fasfdas"); //save,execute save() insert data into db, commit() sess.save(n); tx.commit(); //close Session sess.close(); sf.close(); } }
XXX.cfg.xml的配置:
<?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="hibernate.connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property> <property name="hibernate.connection.password">123456as</property> <property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433;DatabaseName=login</property> <property name="hibernate.connection.username">sa</property> <property name="show_sql">true</property> <property name="hibernate.format_sql">update</property> <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property> <!-- property name="hibernate.jdbc.batch_size">15</property--> </session-factory> </hibernate-configuration>
XXX.hbm.xml的配置
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Generated Mar 30, 2014 12:59:27 AM by Hibernate Tools 3.4.0.CR1 --> <hibernate-mapping> <class name="domain.News" table="NEWS"> <id name="userID" type="java.lang.Integer"> <column name="USERID" /> <generator class="assigned" /> </id> <property name="userName" type="java.lang.String"> <column name="USERNAME" /> </property> <property name="rname" type="java.lang.String"> <column name="RNAME" /> </property> <property name="pwd" type="java.lang.String"> <column name="PWD" /> </property> <property name="sex" type="java.lang.String"> <column name="SEX" /> </property> <property name="email" type="java.lang.String"> <column name="EMAIL" /> </property> </class> </hibernate-mapping>
可是在写完代码时,出现以下错误:
我导入的jar包为:
以上是通过build path导入的。
现在还在寻求解决办法。