建站公司跑路了域名怎么办,免费推广途径,榆林网站优化,西安哪家装修公司最放心hibernate开发步骤 创建hibernate配置文件 创建实体类 创建对象-关系映射文件 通过hibernate访问数据库 下面提供一个简单地示例 hibernate配置文件 ?xml version1.0 encodingutf-8?!DOCTYPE hibernate-configuration PUBLIC -//Hibernate/Hibernat… hibernate开发步骤 创建hibernate配置文件 创建实体类 创建对象-关系映射文件 通过hibernate访问数据库 下面提供一个简单地示例 hibernate配置文件 ?xml version1.0 encodingutf-8?!DOCTYPE hibernate-configuration PUBLIC -//Hibernate/Hibernate Configuration DTD//EN http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtdhibernate-configuration session-factory !-- 配置连接数据库信息 -- property nameconnection.urljdbc:mysql://localhost:3306/studyhibernate/property property nameconnection.driver_classcom.mysql.jdbc.Driver/property property nameconnection.usernameroot/property property nameconnection.password123456/property !-- 配置hibernate的基本信息 -- !-- hibernate方言 -- property namedialectorg.hibernate.dialect.MySQL5InnoDBDialect/property !-- 执行操作时是否在控制台打印 -- property nameshow_sqltrue/property !-- 是否对SQL进行格式化 -- property nameformat_sqltrue/property !-- 指定自动生成数据表的策略 -- property namehibernate.hbm2ddl.autoupdate/property !-- 指定关联的映射文件 -- mapping resourceUser.hbm.xml/ /session-factory/hibernate-configuration 实体类 提供一个无参构造器hibernate使用Constructor.newInstance()来实例化 提供一个主键字段 实体类的字段要声明get/set方法hibernate通过get/set方法来获取字段 使用非final的类如果没有实现接口的话hibernate会使用cglib来生成代理final类不可以生成cglib代理 package com.zhanghe.study.model;/** * author zh * date 2020/12/4 10:26 */public class User { private int id; private String name; private int age; 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 int getAge() { return age; } public void setAge(int age) { this.age age; }} hibernate映射文件 ?xml version1.0 encodingUTF-8?!DOCTYPE hibernate-mapping PUBLIC -//Hibernate/Hibernate Mapping DTD//EN http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtdhibernate-mapping !-- name为实体类 table为表名 -- class namecom.zhanghe.study.model.User tableuser !-- name为字段名 type为类型 column为表的字段名 -- id nameid typejava.lang.Integer column nameid/ !-- 指定主键生成方式 navive 使用数据库本地方式 -- generator classnative/ /id property namename typejava.lang.String column namename/ /property property nameage typejava.lang.Integer column nameage/ /property /class/hibernate-mapping hibernate访问数据库 package com.zhanghe.study;import com.zhanghe.study.model.User;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;/** * author zh * date 2020/12/4 10:00 */public class Main { private static final SessionFactory sessionFactory; // 创建sessionFactory对象 static { try { // 对应的hibernate基本配置信息和对象关系映射信息 Configuration configuration new Configuration(); // 找到hibernate.cfg.xml配置文件,如果没有会报错 当然也可以调用configure(String resource)有参的方法自己指定配置文件名称及位置 configuration.configure(); // 4.0之前不需要使用serviceRegistry 直接构建sessionFactory configuration.buildSessionFactory() // 4.0之后创建serviceRegistry,所有的配置和服务都要在该对象中注册才可以生效 // 4.3之前使用该方式new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry(); ServiceRegistry serviceRegistry new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build(); sessionFactory configuration.buildSessionFactory(serviceRegistry); } catch (Throwable ex) { throw new ExceptionInInitializerError(ex); } } // 创建session对象 public static Session getSession() throws HibernateException { return sessionFactory.openSession(); } public static void main(final String[] args) throws Exception { final Session session getSession(); // 开启事务 Transaction transaction session.beginTransaction(); try { User user new User(); user.setAge(20); user.setName(张三); session.save(user); transaction.commit(); } catch (Exception e){ transaction.rollback(); e.printStackTrace(); } finally { session.close(); } }} https://zhhll.icu/2020/框架/hibernate/基础/4.hibernate开发步骤/ 本文由 mdnice 多平台发布