分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

Hibernate 注解应用搭建

发布时间:2023-09-06 02:05责任编辑:胡小海关键词:Hibernate

一、构建项目目录结构

  

二、实体类

 1 package gdpi.annotation; 2 ?3 import java.io.Serializable; 4 import java.util.HashSet; 5 import java.util.Set; 6 ?7 import javax.persistence.CascadeType; 8 import javax.persistence.Column; 9 import javax.persistence.Entity;10 import javax.persistence.GeneratedValue;11 import javax.persistence.GenerationType;12 import javax.persistence.Id;13 import javax.persistence.OneToMany;14 import javax.persistence.Table;15 import javax.persistence.Transient;20 21 @Entity ???????????????????????                 ?// @Entity注解 声明这个类为一个实体类22 @Table(name="t_grade") ???????                  // @Table 指明这个实体类对应数据库t_grade 表 23 public class Grade implements Serializable{24 25 ????@Transient ???????????????                  // 指明属性在数据库中不存在26 ????private static final long serialVersionUID = 1L;27 ????@Id ?????                            // 指定属性为唯一标识28 ????@GeneratedValue(strategy = GenerationType.IDENTITY) ????// 主键生成策略29 ????private Integer gid;30 ????31 ????@Column(name="gname") ???                   // 将实体类的属性和数据库表的字段作一个映射32 ????private String gname;33 ????34 ????@Column(name="gdesc")35 ????private String gdesc;36 ????37 ????public Grade() {38 ????????super();39 ????????// TODO Auto-generated constructor stub40 ????}41 42 ????public Grade(Integer gid, String gname, String gdesc) {43 ????????super();44 ????????this.gid = gid;45 ????????this.gname = gname;46 ????????this.gdesc = gdesc;47 ????}48 49 ????50 ????public Integer getGid() {51 ????????return gid;52 ????}53 54 ????public void setGid(Integer gid) {55 ????????this.gid = gid;56 ????}57 58 ????public String getGname() {59 ????????return gname;60 ????}61 62 ????public void setGname(String gname) {63 ????????this.gname = gname;64 ????}65 66 ????public String getGdesc() {67 ????????return gdesc;68 ????}69 70 ????public void setGdesc(String gdesc) {71 ????????this.gdesc = gdesc;72 ????}73 74 ????@Override75 ????public String toString() {76 ????????return "Grade [gid=" + gid + ", gname=" + gname + ", gdesc=" + gdesc + "]";77 ????}78 }

三、核心配置文件中加入实体的引用

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE hibernate-configuration PUBLIC 3 ????????"-//Hibernate/Hibernate Configuration DTD 3.0//EN" 4 ????????"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 5 <hibernate-configuration> 6 ????<session-factory> 7 ????????<!--1、配置数据库连接信息 --> 8 ????????<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 9 ????????<property name="hibernate.connection.url">jdbc:mysql:///hibernate_study</property>  <--hibernate_study 为我的本地数据库-->10 ????????<property name="hibernate.connection.username">root</property>    <-- root 为我的本地数据库用户名-->11 ????????<property name="hibernate.connection.password">root</property>    <-- root 为我的本地数据库密码-->12 ????????13 ????????<!--2、配置hibernate的信息 -->14 ????????<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>15 ????????<property name="hibernate.format_sql">true</property>16 ????????<property name="hibernate.show_sql">true</property>17 ????????<property name="hibernate.hbm2ddl.auto">update</property>18 ????????19 ????????<-- 引入实体 class:为实体类的类路径-->20 ????????<mapping class="gdpi.annotation.Grade"/>21 ?22 ????????23 ????</session-factory>24 </hibernate-configuration>

四、测试类【测试配置文件及注解是否正常使用】

 1 package gdpi.annotation; 2 ?3 import java.util.List; 4 ?5 import org.hibernate.Session; 6 import org.hibernate.SessionFactory; 7 import org.hibernate.cfg.Configuration; 8 import org.junit.Test; 9 10 import gdpi.annotation.Grade;11 12 /**13 ?* 测试类14 ?* */15 @SuppressWarnings("deprecation")16 public class Test {17 ????private static Configuration cfg = null;18 ????private static SessionFactory sf = null;19 ????private static Session session = null;20 ????21 ????static{22 ????????cfg = new Configuration();23 ????????cfg.configure();24 ????????sf = cfg.buildSessionFactory();25 ????????session = sf.openSession();26 ????}27 28 ????public static Session getSession() {29 ????????return session;30 ????}31 ????32 ????@Test33 ????public void test(){34 ????????// 获取Session 对象,类似于JDBC中的Connection对象35 ????????Session session = getSession();36 ????????List<Grade> list = session.createQuery("from Grade").list();  // 使用hql查询语句,查询该表中的所有数据37 ????????if(list != null){38 ????????????for(Grade g:list){39 ????????????????System.out.println(g);40 ????????????}41 ????????}42 ????}43 }

 Run:

  控制台打印:

  

  本地MySQL数据库

  

Hibernate 注解应用搭建

原文地址:https://www.cnblogs.com/cairiqiang/p/9349801.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved