Hibernate的使用
Hibernate
映射文件保存为Event.hbm.xml
,且就在Event
Java类的源文件目录下。映射文件可随意地命名,但hbm.xml
的后缀已成为Hibernate开发者社区的约定。
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="connection.username">root</property>
<property name="connection.password">mysqladmin</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/hibernatedb</property>
<!--配置hibernate基本信息-->
<!--配置链接的数据库类型-->
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<!--是否打印sql语句-->
<property name="show_sql">true</property>
<!--是否对sql语句进行格式化-->
<property name="format_sql">true</property>
<!--指定自动生成数据表-->
<property name="hbm2ddl.auto">update</property>
<!--映射持续化类-->
<mapping resource="mao/shu/vo/News.hbm.xml"/> // 对象-关系映射文件
</session-factory>
</hibernate-configuration>
.hbm.xml:对象-关系映射文件,表示映射到数据库中的数据表
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!--设置java类和数据表的映射关系-->
<hibernate-mapping package="mao.shu.vo">
<!--对应的类名称-->
<class name="News" table="News" dynamic-insert="true">
<!--配置主键-->
<id name="id" type="java.lang.Integer">
<column name="ID"/><!--生成的数据列名称-->
<generator class="native"/><!--使用数据库本地的方式创建主键-->
</id>
<!--设置类中的属性和数据表对应的字段的映射-->
<property name="title" not-null="true" index="news_index" length="200" type="java.lang.String" column="TITLE">
</property>
<property name="info" not-null="true" type="text" column="INFO">
</property>
<property name="pubDate" not-null="true" type="java.sql.Date" column="PUBDATE">
</property>
<property name="price" not-null="true" type="java.lang.Double" column="PRICE">
</property>
</class>
</hibernate-mapping>
SpringBoot使用Hibernate的增删查改
-
导入依赖:
<!--JDBC相关依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--jpa相关依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
-
编写持久层,持久层什么都不用做,创建一个接口继承JpaRepository或CrudRepository,有两种实现方式分别是JpaRepository、CrudRepository
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构