Hibernate4 CRUD示例
来源:互联网 发布:python 求平均值 编辑:程序博客网 时间:2024/06/04 00:49
最近研发的项目需要使用Hibernate,很久没有使用Hibernate了,做了一个简单的CRUD作为示例,比较简单,直接上代码吧,
首先创建数据库和表
CREATE DATABASE mybusiness; USE mybusiness; CREATE TABLE customers( C_ID int NOT NULL AUTO_INCREMENT, name varchar(20), address varchar(20), PRIMARY KEY(C_ID) );创建Hibernate配置文件
<?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 name=""><property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/mybusiness</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">root</property><property name="hibernate.connection.pool_size">1</property><property name="hibernate.show_sql">true</property><property name="show_sql">true</property><property name="hbm2ddl.auto">update</property><mapping resource="customers.hbm.xml" /></session-factory></hibernate-configuration>
创建ORM文件
<?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><class name="Customer" table="customers"><id column="C_ID" name="customerID" type="int"><generator class="native"></generator></id><property name="customerName"><column name="name"></column></property><property name="customerAddress"><column name="address"></column></property></class></hibernate-mapping>
创建模型类
public class Customer {private int customerID;private String customerName;private String customerAddress;public Customer() {}public String getCustomerAddress() {return customerAddress;}public void setCustomerAddress(String customerAddress) {this.customerAddress = customerAddress;}public int getCustomerID() {return customerID;}public void setCustomerID(int customerID) {this.customerID = customerID;}public String getCustomerName() {return customerName;}public void setCustomerName(String customerName) {this.customerName = customerName;}}
最后创建测试类
import java.util.Iterator;import java.util.List;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;public class CRUDTest {public static void main(String[] args) {deleteTest();// readTest();}/* * 增加一个客户资料 */public static void createTest() {Session session = null;try {Configuration configuration = new Configuration();configuration.configure("hibernate.cfg.xml");ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);session = sessionFactory.openSession();session.beginTransaction();System.out.println("Adding a customer record !");Customer customer = new Customer();customer.setCustomerName("Customer-a");customer.setCustomerAddress("Address1");session.save(customer);session.getTransaction().commit();System.out.println("Done!");} catch (Exception e) {System.out.println(e.getMessage());}finally {session.flush();session.close();}}/* * 读取customers表 */public static void readTest() {Session session = null;try {Configuration configuration = new Configuration();configuration.configure("hibernate.cfg.xml");ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);session = sessionFactory.openSession();session.beginTransaction();System.out.println(org.hibernate.Version.getVersionString());String HQL_QUERY = "from Customer customers";org.hibernate.Query query = session.createQuery(HQL_QUERY);List list = query.list();System.out.println("Recieving " + list.size() + " Records:");for (Iterator it = list.iterator(); it.hasNext();) {Customer customer = (Customer) it.next();System.out.println("Name:" + customer.getCustomerName());System.out.println("Address:" + customer.getCustomerAddress());System.out.println("ID:" + customer.getCustomerID());System.out.println("----------");}session.getTransaction().commit();System.out.println("Done!");} catch (Exception e) {System.out.println(e.getMessage());}finally {session.flush();session.close();}}/* * 更新一条记录 */public static void updateTest() {Session session = null;try {Configuration configuration = new Configuration();configuration.configure("hibernate.cfg.xml");ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);session = sessionFactory.openSession();session.beginTransaction();String HQL_QUERY = "from Customer customers where customers.customerID = :customerId";org.hibernate.Query query = session.createQuery(HQL_QUERY);// Prepared statementquery.setParameter("customerId", 1);for (Iterator it = query.iterate(); it.hasNext();) {Customer customer = (Customer) it.next();customer.setCustomerName("Customer1");}session.getTransaction().commit();System.out.println("Done!");} catch (Exception e) {System.out.println(e.getMessage());}finally {session.flush();session.close();}}/* * 删除一条记录 */public static void deleteTest() {Session session = null;try {Configuration configuration = new Configuration();configuration.configure("hibernate.cfg.xml");ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);session = sessionFactory.openSession();session.beginTransaction();Customer cust = new Customer();cust.setCustomerID(1);session.delete(cust);session.getTransaction().commit();System.out.println("Done!");} catch (Exception e) {System.out.println(e.getMessage());}finally {session.flush();session.close();}}}经过测试通过
0 0
- Hibernate4 CRUD示例
- jfware开始篇: hibernate4.1.9 + spring 3.2.2整合示例(CRUD)
- 一步一步学hibernate4-- hibernate CRUD
- Spring4-Struts2-Hibernate4 CRUD Demo
- SpringMVC+Hibernate4+Spring3整合开发实现CRUD
- Hibernate4-对象生命周期及CRUD操作
- S2SH -CRUD简单示例
- JDBC的CRUD示例
- vue-resource CRUD示例
- Spring4整合Hibernate4详细示例
- Spring4整合Hibernate4详细示例
- telerik mvc treeView crud 示例
- Spring-Data-Jpa Crud示例
- hibernate4 之 对象生命周期及crud操作笔记
- Hibernate4.3.5 双向一对多示例
- Zend Framework单表CRUD入门示例
- Spring MVC + Hibernate + Maven: Crud操作示例
- 一个自定义的典型的CRUD示例
- netbeans常用快捷键
- SQL查找删除重复行
- 霍夫变换理解
- 大陆身份证号码格式校验代码
- 和HTMLSpecialChars()功能相反的函数
- Hibernate4 CRUD示例
- 黑马程序员 自学17C#面向对象之基本概念
- Animation的学问
- 线程
- shell中的字符串问题(截取)
- 开散列、闭散列实现及性能比较
- 关于python中os.system,os.popen,os.comands
- TCP IP UDP协议的区别
- 关于hashcode和equals方法