首先写一个连接数据库的xml配置文件
<session-factory>
<!-- Database connection settings -->
<!--向java程序注册Oracle JDBC驱动程序-->
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<!--数据库的地址-->
<property name="connection.url">jdbc:oracle:thin:@192.168.42.58:1521:SID</property>
<!-- 用户名 -->
<property name="connection.username">xxxxx</property>
<!-- 用户密码 -->
<property name="connection.password">xxxxxxx</property>
<!-- SQL dialect 方言-->
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<!-- 映射文件 -->
<mapping resource="com/probie/goods.xml"/>
<mapping resource="com/probie/userinfo.xml"/>
</session-factory>
</hibernate-configuration>
数据库连接之后就是对数据库的操作。Hibernate就像是一个智能的机器人,不需要去写太多的SQL语句。
下面需要做的就是配置XML文件实现表的字段与数据封装类的变量的映射
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping >
<class name="com.probie.GoodsVo" table="GOODS">
<id name="id" column="id"></id>
<property name="name" column="name"/>
<property name="num" column="num"/>
<property name="price" column="price"/>
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.probie.UserInfoVo" table="userinfo">
<id name="id" column="id"></id>
<property name="username" column="username"></property>
<property name="userpass" column="userpass"></property>
<property name="sex" column="sex"></property>
</class>
</hibernate-mapping>
两个XML文件对应着数据库里的两个表
<class name="com.probie.UserInfoVo(封装类的路径)" table="userinfo(数据库的表名)">
下面是数据封装类
package com.probie;
public class GoodsVo {
private int id;
private String name;
private int num;
private int price;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
package com.probie;
public class UserInfoVo {
private String username;
private String userpass;
private String sex;
private int id;
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 getUserpass() {
return userpass;
}
public void setUserpass(String userpass) {
this.userpass = userpass;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
下面就是java的主方法
package com.probie;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class Test {
public static void main(String[] args) {
Configuration configuration = new Configuration();
Configuration configuration2 = configuration.configure("com/probie/test.xml");
SessionFactory factory = configuration2.buildSessionFactory();
//System.out.println(factory);
Session session = factory.openSession();
Transaction transaction = session.beginTransaction();
GoodsVo goodsVo = new GoodsVo();
UserInfoVo userInfoVo = new UserInfoVo();
goodsVo.setId(6);
goodsVo.setName("you");
goodsVo.setNum(20);
goodsVo.setPrice(100);
session.save(goodsVo);
userInfoVo.setUsername("tom");
userInfoVo.setUserpass("123456");
userInfoVo.setSex("man");
userInfoVo.setId(1);
session.save(userInfoVo);
String hql = "from GoodsVO";
Query query = session.createQuery(hql);
List<GoodsVo> list = query.list();
for (int i = 0; i < list.size(); i++) {
System.out.println();
}
transaction.commit();
session.close();
}
}