検索

hibernate实战笔记1---初探

Jun 07, 2016 pm 03:58 PM
hibernate予備探査勉強実戦ノート

由于在学习Spring的时候学到有关数据库的章节的时候,提及到了hibernate的集成,但是我对hibernate技术几乎是一点不了解,只是知道它是一个orm对象映射框架,所以在初探的章节做一下hibernate的简单了解,以及应用。顺便提一句,我用的是maven添加的hibernat

由于在学习Spring的时候学到有关数据库的章节的时候,提及到了hibernate的集成,但是我对hibernate技术几乎是一点不了解,只是知道它是一个orm对象映射框架,所以在初探的章节做一下hibernate的简单了解,以及应用。顺便提一句,我用的是maven添加的hibernate开发包

简单使用hibernate的一般步骤

*创建并且编辑hibernate配置文件

该配置文件主要是用于链接数据库所用,定义了数据库的驱动程序和映射文件的位置,如下是一个简单的配置

<?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 >

		<property name="show_sql">true</property>
		<property name="connection.driver_class">
			org.gjt.mm.mysql.Driver
		</property>
		<property name="connection.url">
			jdbc:mysql://localhost:3306/pgwt
		</property>
		<property name="connection.username">
			root
		</property>
		<property name="connection.password">
			1234
		</property>
		<property name="dialect">
			org.hibernate.dialect.MySQLDialect 
		</property>

		<mapping resource="com/springframework/hibernate/test.hbm.xml" />

	</session-factory>

</hibernate-configuration>

根据这个配置文件可以看出,所有的配置信息都是包含在标签之中,该配置文件和Spring的装配bean差不多,对应一个SessionFactory对象,期中配置的是对象中的属性,name代表属性的名称标签的内容就是属性值了,逐一了解一下

show_sql属性是一个boolean值,代表的是在进行数据库操作的时候是否在控制台输出sql语句,在调试的时候非常有用

connection.driver_class代表的是数据库的jdbc驱动程序,我这里使用的是mysql所以就是org.gjt.mm.mysql.Driver

connection.url代表的是访问数据库的url

connection.username 代表的是登录数据库时候的用户名

connection.password 代表的是登录数据库时候的密码

dialect代表的是一种数据库的方言,可以为数据库中的属性设置一些默认值(我目前是这么理解的,以后再深入研究一下)我知道了一个网页内容是数据库对应的方言的类,可以参考一下百度文库地址

标签是用来引用映射文件地址的,至于映射文件的内容,下文会做简单的介绍

*创建数据库表

简单的创建一个user的数据库表分别有userid,name,password字段

*创建和数据库表对应的javaBean类

如下是一个简单的javaBean

package com.springframework.hibernate;

public class User {

	private String userid;
	private String name;
	private String password;

	public String getUserid() {
		return userid;
	}

	public void setUserid(String userid) {
		this.userid = userid;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}
*创建映射文件

映射文件中包括了一些配置信息,代码之后会逐一介绍一下配置信息的含义,配置文件如下

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
	<class name="com.springframework.hibernate.User" table="user">
		<id name="userid" column="userid">
			<generator class="assigned" />
		</id>
		<property name="name" column="name" />
		<property name="password" column="password" />
	</class>
</hibernate-mapping>
在上边的数据库表中包括三个字段,期中userid是主键,然后我来逐一说一下配置文件的含义

所有的配置信息都是写在标签中,期中可以包含多个标签,目的是为了配置javaBean与数据库表之间的映射关系

标签中name属性代表的是该class标签对应的javaBean,table属性代表该class标签对应的数据库表

标签是用于映射主键的,user表的主键是userid ,name属性是代表javaBean中属性的名称,column属性代表的是数据库表中的字段

标签定义了生成主键的方式,叫做生成器,我选择的方式是assigned,是由程序自由生成主键,相对还有其他集中方式,我找了一篇blog里面说的还挺详细blog地址

也是像Spring注入javaBean一样,定义属性所对应的数据库表字段的引用column属性代表的是数据库表中的字段

*创建一个场景类(主函数)

代码如下

package com.springframework.hibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class Client {

	public static void main(String[] args) {
		try {
			SessionFactory sf = new Configuration().configure()
					.buildSessionFactory();
			Session session = sf.openSession();
			Transaction tx = session.beginTransaction();

			for (int i = 0; i < 100; i++) {
				User newuser = new User();
				newuser.setUserid("userid" + i);
				newuser.setName("name" + i);
				newuser.setPassword("password" + i);
				session.save(newuser);
			}

			tx.commit();
			session.close();

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
这类似是一个样板是代码,应该是可以由Spring模板来替换的。

hibernate是通过SessionFactory来启动hibernate(通过配置文件与数据连接),session对象当中包含一些数据库操作的方法

以上是一些使用hibernate的基本方法,了解了以上的知识就可以继续往下学习Spring了,以后再来完善有关hibernate的实战笔记。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
MySQLの役割:WebアプリケーションのデータベースMySQLの役割:WebアプリケーションのデータベースApr 17, 2025 am 12:23 AM

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

MySQL:最初のデータベースを構築しますMySQL:最初のデータベースを構築しますApr 17, 2025 am 12:22 AM

MySQLデータベースを構築する手順には次のものがあります。1。データベースとテーブルの作成、2。データの挿入、および3。クエリを実行します。まず、createdAtabaseおよびcreateTableステートメントを使用してデータベースとテーブルを作成し、InsertINTOステートメントを使用してデータを挿入し、最後にSelectステートメントを使用してデータを照会します。

MySQL:データストレージに対する初心者向けのアプローチMySQL:データストレージに対する初心者向けのアプローチApr 17, 2025 am 12:21 AM

MySQLは、使いやすく強力であるため、初心者に適しています。 1.MYSQLはリレーショナルデータベースであり、CRUD操作にSQLを使用します。 2。インストールは簡単で、ルートユーザーのパスワードを構成する必要があります。 3.挿入、更新、削除、および選択してデータ操作を実行します。 4. Orderby、Where and Joinは複雑なクエリに使用できます。 5.デバッグでは、構文をチェックし、説明を使用してクエリを分析する必要があります。 6.最適化の提案には、インデックスの使用、適切なデータ型の選択、優れたプログラミング習慣が含まれます。

MySQLは初心者に優しいですか?学習曲線の評価MySQLは初心者に優しいですか?学習曲線の評価Apr 17, 2025 am 12:19 AM

MySQLは初心者に適しています。1)インストールと構成、2)リッチラーニングリソース、3)直感的なSQL構文、4)強力なツールサポート。それにもかかわらず、初心者はデータベースの設計、クエリの最適化、セキュリティ管理、データのバックアップなどの課題を克服する必要があります。

SQLはプログラミング言語ですか?用語を明確にするSQLはプログラミング言語ですか?用語を明確にするApr 17, 2025 am 12:17 AM

はい、sqlisaprogramginglanguagespecializedfordatamanamanagement.1)それはdeclarative、focusingonwhattoachieveratherthanhow.2)

酸性の特性(原子性、一貫性、分離、耐久性)を説明します。酸性の特性(原子性、一貫性、分離、耐久性)を説明します。Apr 16, 2025 am 12:20 AM

酸性属性には、原子性、一貫性、分離、耐久性が含まれ、データベース設計の基礎です。 1.原子性は、トランザクションが完全に成功するか、完全に失敗することを保証します。 2.一貫性により、データベースがトランザクションの前後に一貫性を保証します。 3.分離により、トランザクションが互いに干渉しないようにします。 4.永続性により、トランザクションの提出後にデータが永久に保存されることが保証されます。

MySQL:データベース管理システムとプログラミング言語MySQL:データベース管理システムとプログラミング言語Apr 16, 2025 am 12:19 AM

MySQLは、データベース管理システム(DBMS)であるだけでなく、プログラミング言語にも密接に関連しています。 1)DBMSとして、MySQLはデータを保存、整理、取得するために使用され、インデックスを最適化するとクエリのパフォーマンスが向上する可能性があります。 2)SQLとPythonに埋め込まれたプログラミング言語とSQLalchemyなどのORMツールを使用すると、操作を簡素化できます。 3)パフォーマンスの最適化には、インデックス、クエリ、キャッシュ、ライブラリ、テーブル分割、およびトランザクション管理が含まれます。

MySQL:SQLコマンドでデータの管理MySQL:SQLコマンドでデータの管理Apr 16, 2025 am 12:19 AM

MySQLはSQLコマンドを使用してデータを管理します。 1.基本コマンドには、select、挿入、更新、削除が含まれます。 2。高度な使用には、参加、サブクエリ、および集計関数が含まれます。 3.一般的なエラーには、構文、ロジック、パフォーマンスの問題が含まれます。 4。最適化のヒントには、インデックスの使用、Select*の回避、制限の使用が含まれます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)