分三部分内容,配置文件,测试类、bean
JAVA测试类部分(包含增加、删除、修改、查询方法)
/**
*
*/
package com.my.test;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.my.pojo.User;
/**
* @author Administrator
*
*/
public class Test {
public static void main(String[] args) {
//数据增加
// Transaction tran=null;
// Session session=null;
// try {
//// Thread t=Thread.currentThread();
//// t.stop();
// System.out.println("hello");
// // 获取配置信息
// Configuration config=new Configuration().configure();
// //生成SessionFactory对象
// SessionFactory facotry=config.buildSessionFactory();
// //由Session工厂生成session对象
// session=facotry.openSession();
// //开启事务
// tran= session.beginTransaction();
// User user=new User();
// user.setName("yxx3");
// user.setSex("boy");
// user.setSkil("soft developer");
// //保存
// session.save(user);
// //提交
// tran.commit();
// } catch (Exception e) {
// e.printStackTrace();
// // TODO: handle exception
// //遇到异常信息 就回回滚
// if(tran!=null){
// tran.rollback();
// }
// }finally{
// //关闭session 释放资源
// session.close();
// }
//按照id去做数据查询
// try {
// Configuration confi=new Configuration().configure();
// //System.out.println(confi.getProperty("connection.username"));
// SessionFactory factory= confi.buildSessionFactory();
// Session session=factory.openSession();
// //通过load的方式加载数据 通过load方法查询数据的时候,假如数据不存在,则会抛
// //出ObjectNotFoundException
// //User user=(User)session.load(User.class, 100);
// //使用中,如果对象没有,则报NullPointerException
// User user=(User)session.get(User.class, 100);
// System.out.println("姓名:"+user.getName()+"性别:"
// +user.getSex()+"技能:"+user.getSkil());
// session.close();
// } catch (Exception e) {
// // TODO: handle exception
// e.printStackTrace();
// }
/*数据修改*/
// Session session=null;
// Transaction tran=null;
// try {
// Configuration config=new Configuration().configure();
// SessionFactory factory=config.buildSessionFactory();
// session=factory.openSession();
//// Connection con=session.connection();
//// con.createStatement();
// tran= session.beginTransaction();
// //进行数据修改的时候,需要先加载待修改的数据对象,然后再进行赋值动作
// User user=(User)session.load(User.class, 1);
// //对对象的某一个属性进行赋值动作
// user.setName("JAVA Yang");
// //修改的方法是sava
// session.update(user);
// //事务提交,数据保存成功
// tran.commit();
//
// } catch (Exception e) {
// // TODO: handle exception
// e.printStackTrace();
// //如果有异常,则事务回滚(还原)
// if(tran!=null){
// tran.rollback();
// }
// }finally{
// //关闭session 释放连接
// session.close();
// }
/*数据删除*/
/*删除步骤,先加载对象,再进行数据删除*/
// Session session=null;
// Transaction tran=null;
// try {
// Configuration confi=new Configuration().configure();
// SessionFactory factory= confi.buildSessionFactory();
// session=factory.openSession();
// tran= session.beginTransaction();
// User user=(User)session.get(User.class, 1);
// if(user!=null){
// session.delete(user);
// tran.commit();
// }
// } catch (Exception e) {
// // TODO: handle exception
// if(tran!=null){
// tran.rollback();
// }
// }finally{
// session.close();
// }
Session session=null;
try {
//Configuration config2=new Configuration();
//config2.setProperty(propertyName, value)
Configuration config=new Configuration().configure();
//config.setProperty("connection.username", "sa");
SessionFactory factory=config.buildSessionFactory();
session=factory.openSession();
//创建查询对象Query
Query query=session.createQuery("from User");
//通过query的list方法获取结果集对象
List<User> list=query.list();
//遍历结果集对象
for (User user : list) {
System.out.println("用户名:"+user.getName());
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
//关闭session 释放资源
session.close();
}
}
}
配置文件 之hibernate user.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>
<!--catalog和库名一致-->
<class name="com.my.pojo.User" table="tbl_user" schema="dbo"
catalog="Sales">
<id name="uid" type="java.lang.Integer">
<!-- 指定自增列式表中的uid -->
<column name="uid" />
<!--指定自增方式 hibernate中的native可以自动识别
不同版本的数据库中对自增列的处理
-->
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="user_name" length="50"></column>
</property>
<property name="sex" type="java.lang.String">
<column name="user_sex" length="10"></column>
</property>
<property name="skil" type="java.lang.String">
<column name="user_skill" length="50"></column>
</property>
</class>
</hibernate-mapping>
配置文件之 hibernate-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">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<!-- 配置数据库连接信息 -->
<session-factory>
<property name="connection.username">sa</property>
<property name="connection.url">jdbc:sqlserver://localhost:1433;databaseName=Sales</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
<property name="myeclipse.connection.profile">Sqlserver2005Driver</property>
<property name="connection.password">123456</property>
<property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<!-- 开启sql语句提示 -->
<property name="show_sql">true</property>
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<!--java对象和数据库中表的映射文件 (可以在此配置多个映射文件)-->
<mapping resource="com/my/pojo/user.hbm.xml"/>
</session-factory>
</hibernate-configuration>
java映射类
import java.io.Serializable;
/**
* @author Administrator
*
*/
public class User implements Serializable {
private String name;
private String sex;
private String skil;
private Integer uid;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getSkil() {
return skil;
}
public void setSkil(String skil) {
this.skil = skil;
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
}
/*建立用户表*/
create table tbl_user(
uid int identity(1,1) primary key,
user_name varchar(50),
user_sex varchar(10),
user_skill varchar(50)
)