分享web开发知识

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

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

Hibernate 使用注释

发布时间:2023-09-06 02:17责任编辑:熊小新关键词:Hibernate

Hibernate 使用注释

Hibernate使用注释有个好处就是我们不需要建立.hbm.xml文件,直接在实体类中添加注解就可以完成往数据库中进行数据操作

配置文件:hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC ???"-//Hibernate/Hibernate Configuration DTD//EN" ???"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration> ???<session-factory> ???????<!-- Database connection settings --> ?????<property name="connection.driver_class">com.mysql.jdbc.Driver</property> ?????<property name="connection.url">jdbc:mysql://localhost:3306/student?serverTimezone=UTC</property> ?????<property name="connection.username">root</property> ?????<property name="connection.password">123456</property> ?????<!-- JDBC connection pool (use the built-in) --> ?????<!-- <property name="connection.pool_size">1</property> --> ?????<!-- SQL dialect 方言 MySQLDialect不同数据库不一样--> ?????<property name="dialect">org.hibernate.dialect.MySQLDialect</property> ?????<!-- Enable Hibernate‘s automatic session context management --> ?????<!-- <property name="current_session_context_class">thread</property> --> ?????<!-- Disable the second-level cache --> ?????<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> ?????<!-- Echo all executed SQL to stdout ?生产的sql打印出来--> ?????<property name="show_sql">true</property> ?????<!-- <mapping resource="com/xxc/model/Student.hbm.xml"></mapping> --> ?????<mapping class="com.xxc.model.Teacher"></mapping> ???</session-factory></hibernate-configuration>

实体类Teacher.java

package com.xxc.model;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name="teacher")public class Teacher { ???private int id; ???private String name; ???private String title; ???@Id ???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 String getTitle() { ???????return title; ???} ???public void setTitle(String title) { ???????this.title = title; ???} ???}

操作类TeacherTest.java

 在这里,我们使用StandardServiceRegistryBuilder类和MetadataSources类从持久化类获取映射的信息。

package hibernateTest;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.boot.MetadataSources;import org.hibernate.boot.registry.StandardServiceRegistry;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;import com.xxc.model.Teacher;public class TeacherTest { ???public static void main(String[] args) { ???????Teacher t = new Teacher(); ???????t.setId(1); ???????t.setName("xxc"); ???????t.setTitle("高级"); ???????final StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build(); ???????SessionFactory sf = new MetadataSources(registry).buildMetadata().buildSessionFactory(); ???????Session session = sf.openSession(); ???????//开始事务 ???????????session.beginTransaction(); ???????session.save(t); ???????//结束事务 ???????session.getTransaction().commit(); ???????session.close(); ???????sf.close(); ???}}

Hibernate 使用注释

原文地址:https://www.cnblogs.com/alex-xxc/p/9751901.html

知识推荐

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