hibernate如何使用小demo
来源:互联网 发布:博客绑定域名 编辑:程序博客网 时间:2024/06/07 15:09
hibernate如何使用小demo
a.建立数据库表
drop table if exists admin_info;create table admin_info( admin_id int primary key auto_increment, admin_code varchar(30) unique not null, password varchar(30) not null, name varchar(30) not null, telephone varchar(15), email varchar(50), enrolldate timestamp default current_timestamp);insert into admin_info (admin_code,password,name,telephone,email,enrolldate) values('admin','test','ADMIN','123456789','admin@tarena.com.cn',null);
b.建立java工程,引入hibernate开发包+数据库驱动包
c.添加src/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"><hibernate-configuration><session-factory><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="connection.url">jdbc:mysql://localhost:3306/netctoss</property><property name="connection.username">root</property><property name="connection.password">123456</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="myeclipse.connection.profile">mysql</property><mapping resource="entity/admin.hbm.xml" /></session-factory></hibernate-configuration>
d.编写Entity实体类
package entity;import java.sql.Timestamp;public class Admin{private int admin_id; //idprivate String admin_code; //账号private String password; //密码private String name; //真实姓名private String telephone; //电话private String email; //邮箱private Timestamp enrolldate; //创建时间public int getAdmin_id() {return admin_id;}public void setAdmin_id(int adminId) {admin_id = adminId;}public String getAdmin_code() {return admin_code;}public void setAdmin_code(String adminCode) {admin_code = adminCode;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getTelephone() {return telephone;}public void setTelephone(String telephone) {this.telephone = telephone;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public Timestamp getEnrolldate() {return enrolldate;}public void setEnrolldate(Timestamp enrolldate) {this.enrolldate = enrolldate;}public String toString() {return "Admin [admin_id=" + admin_id + ",admin_code=" + admin_code+ ", password=" + password + "]";}}
e.编写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> <class name="entity.Admin" table="admin_info"> <id name="admin_id" type="java.lang.Integer"> <column name="admin_id" /> <generator class="assigned" /> </id> <property name="admin_code" type="java.lang.String"> <column name="admin_code" length="20" /> </property> <property name="password" type="java.lang.String"> <column name="password" length="20" /> </property> <property name="name" type="java.lang.String"> <column name="name" length="20" /> </property> <property name="telephone" type="java.lang.String"> <column name="telephone" length="20" /> </property> <property name="email" type="java.lang.String"> <column name="email" length="50" /> </property> <property name="enrolldate" type="java.sql.Timestamp"> <column name="enrolldate" /> </property> </class></hibernate-mapping>
f.利用hibernate API实现DAO
HibernateUtil.java
package util;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class HibernateUtil {private static SessionFactory sf;static{//加载主配置hibernate.cfg.xmlConfiguration conf = new Configuration();conf.configure("/hibernate.cfg.xml");//获取SessionFactorysf = conf.buildSessionFactory();}public static Session openSession(){//获取SessionSession session = sf.openSession();return session;}}
AdminDAOHibernateImpl.java
package dao.impl;import org.hibernate.Session;import util.HibernateUtil;import dao.AdminDAO;import entity.Admin;public class AdminDAOHibernateImpl implements AdminDAO{@Overridepublic Admin findById(Integer id) throws Exception {//获取SessionSession session = HibernateUtil.openSession();//执行查询Admin admin = (Admin)session.get(Admin.class, id);return admin;}}
TestAdminDAO.java
package test;import org.junit.Test;import util.Factory;import dao.AdminDAO;import entity.Admin;public class TestAdminDAO {private AdminDAO adminDAO = Factory.getAdminDAO();@Testpublic void testFindById() throws Exception{Admin admin = adminDAO.findById(2);System.out.println(admin);}}
注意事项:
1.hibernate.cfg.xml里面不要忘记写
<mapping resource="entity/admin.hbm.xml" />
2.hbm.xml里面实体类的名称与表中字段要对应好
0 0
- hibernate如何使用小demo
- Ajax如何使用的小demo
- Struts2+Spring+hibernate 小demo
- unittest使用小demo
- 模拟Hibernate框架的小demo
- 自己写一个hibernate的小demo
- 【hibernate】小Demo+时间格式问题解决
- hibernate教程____hibernate入门小demo
- Spring,SpringMVC和hibernate整合小demo
- Hibernate之HQL查询小Demo
- clip属性使用小Demo
- hibernate使用小技巧
- 如何实现图片描述效果小DEMO!
- Hibernate之Criteria标准化对象查询小Demo
- Hibernate之原生Native SQL查询小Demo
- file类renameTo使用小demo
- 使用onMeasure和onLayout的小Demo
- 简单的Android RecyclerView 使用小Demo
- POJ 2823 Sliding Windows
- slub分配器
- 和其他app进行交互
- bp神经网络训练例子
- python的不可变量和可变量
- hibernate如何使用小demo
- SSDB - 官方文档 - 中文
- 异或运算
- animation iOS实现动画
- 可重入函数与线程安全
- UI day2 UILabel标签 UITextField文本 UIButton按钮
- oracle中的rownum
- 仿QQ帮助菜单功能
- C语言的函数指针和结构体