eclipse中hibernate的配置(mysql)
注意:一共需要新增4个文件,外加数据库建表,添加jar包。就ok了
java工程:
sqlyog新建的数据库:
1、添加需要的jar包(9个)
jar包下载链接:http://download.csdn.net/download/li841538513/7066477
注意:mysqldriver.jar建议最好换成:mysql-connector-java-3.0.17-bin.jar。(java.sql.SQLException: Unknown type '246 in column 0 of 1 in binary-encoded result set这个异常容易出现在对Bigint字段的操作上。使用mysql-connector-java-3.0.17-bin.jar就没有问题了,而且目前好象只有这个版本无此bug。)
mysql-connector-java-3.0.17-bin.jar下载地址:
添加jar包到工程。
2、假设我新建数据库名:tianmao_data 表名:user (你也可以去其他名字)
添加你需要的字段:这里我添加的字段id , user_id , brand_id, type, date 5个字段。
注意id设置不为空,自增长
3、User.java
每个字段都对应数据库的字段
package cn.itcast.hibernate.domain; public class User { private int id; private int user_id; private int brand_id; private String type; private String date; public int getId() { return id; } public void setId(int id) { this.id = id; } public int getUser_id() { return user_id; } public void setUser_id(int user_id) { this.user_id = user_id; } public int getBrand_id() { return brand_id; } public void setBrand_id(int brand_id) { this.brand_id = brand_id; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } }
4、User.hbm.xml
注意: table=“user” 是数据库表名,其他参数都对应User.java的字段。
id特殊对待。
<?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 package = "cn.itcast.hibernate.domain"> <class name="User" table="user"> <id name = "id"> <generator class="native"/> </id> <property name="user_id"/> <property name="brand_id"/> <property name="type"/> <property name="date"/> </class> </hibernate-mapping>
5、hibernate.cfg.xml
注意:tianmao_data是数据库名 这里是mysql数据库
<?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="hibernate.connection.driver_class"> com.mysql.jdbc.Driver </property> <property name="hibernate.connection.password">sa</property> <property name="hibernate.connection.url"> jdbc:mysql://localhost:3306/tianmao_data </property> <property name="hibernate.connection.username">root</property> <property name="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </property> <property name="show_sql">true</property> <!-- mapping resources --> <mapping resource="cn/itcast/hibernate/domain/User.hbm.xml"/> </session-factory> </hibernate-configuration>
6、Base.java(就是用来启动主函数,名字随便取)
这里实现的功能:新增一组数据
package cn.main; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.classic.Session; import cn.itcast.hibernate.domain.User; public class Base { public static void main(String[] args) { // TODO Auto-generated method stub Configuration cfg = new Configuration(); SessionFactory sf = cfg.configure().buildSessionFactory(); Session session = sf.openSession(); session.beginTransaction(); User s = new User(); s.setUser_id(2); s.setBrand_id(2); s.setType("3"); s.setDate("06-07"); session.save(s); session.getTransaction().commit();
session.close();
sf.close(); System.out.println("Base.main()"); } }
完了后,就可以运行了,一般来说,是不会有什么问题了。
注意的是,包名要跟我的一样,如果你自己完全能改我的代码,那就随意了。
好啦,祝您愉快