一个简单的HibernateDemo

首先写一个连接数据库的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();
		
		
	}
}
发布了12 篇原创文章 · 获赞 22 · 访问量 4157

猜你喜欢

转载自blog.csdn.net/qq_41173427/article/details/91602016