返回顶部
首页 > 资讯 > 数据库 >SSH系列:(3)Hibernate
  • 256
分享到

SSH系列:(3)Hibernate

2024-04-02 19:04:59 256人浏览 泡泡鱼
摘要

(1)引入jar包(2)配置(3)测试1、引入jar包引入Mysql jar包mysql-connector-java-5.1.38-bin.jar引入c3p0 jar包c3p0-0.9.1.2.jar引入


(1)引入jar

(2)配置

(3)测试


1、引入jar包


引入Mysql jar包


mysql-connector-java-5.1.38-bin.jar


引入c3p0 jar包


c3p0-0.9.1.2.jar


引入hibernate相关jar包 (hibernate-distribution-3.6.0.Final)


antlr-2.7.6.jar

commons-collections-3.1.jar

dom4j-1.6.1.jar

hibernate3.jar

hibernate-jpa-2.0-api-1.0.0.Final.jar

javassist-3.12.0.GA.jar

jta-1.1.jar

slf4j-api-1.6.1.jar



2、配置


2.1、添加实体类:Person.java

package com.rk.test.entity;

public class Person {
	private String pId;
	private String pName;
	private int pVersion;
	public String getpId() {
		return pId;
	}
	public void setpId(String pId) {
		this.pId = pId;
	}
	public String getpName() {
		return pName;
	}
	public void setpName(String pName) {
		this.pName = pName;
	}
	public int getpVersion() {
		return pVersion;
	}
	public void setpVersion(int pVersion) {
		this.pVersion = pVersion;
	}
	@Override
	public String toString() {
		return "Person [pId=" + pId + ", pName=" + pName + ", pVersion="
				+ pVersion + "]";
	}
	
}


2.2、添加映射文件:Person.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"Http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.rk.test.entity" auto-import="true">
	<class name="Person" table="T_Person">
		<id name="pId" column="id" type="string" length="32">
			<generator class="uuid.hex"></generator>
		</id>
		<version name="pVersion" column="version" type="integer"></version>
		<property name="pName" column="name" type="string"></property>
	</class>

</hibernate-mapping>


2.3、添加Hibernate配置文件:hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <!-- 通常,一个session-factory节点代表一个数据库 -->
    <session-factory>
        <!-- 1. 数据库连接配置 -->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql:///tax_sys</property>	
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.passWord">root</property>
		<!-- 
			数据库方言配置, hibernate在运行的时候,会根据不同的方言生成符合当前数据库语法的sql
		 -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        
        <!-- 2. 其他相关配置 -->
		<!-- 2.1 显示hibernate在运行时候执行的sql语句 -->
		<property name="hibernate.show_sql">true</property>
		<!-- 2.2 格式化sql -->
		<property name="hibernate.fORMat_sql">false</property>
		<!-- 2.3 自动建表  -->
		<property name="hibernate.hbm2ddl.auto">update</property>
		
		<!-- 配置session的创建方式:线程方式创建session对象 -->
		<property name="hibernate.current_session_context_class">thread</property>


		<!-- 3. 加载所有映射-->
		<mapping resource="com/rk/test/entity/Person.hbm.xml"/>		

    </session-factory>
</hibernate-configuration>


3、测试

测试两方面:第一是能从数据库读取一条数据,第二是能向数据库保存一条数据

package com.rk.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.junit.Before;
import org.junit.Test;

import com.rk.test.entity.Person;

public class TestHibernate {
	private SessionFactory sf;
	
	@Before
	public void init()
	{
		sf = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
	}
	
	@Test
	public void test()
	{
		Session session = sf.getCurrentSession();
		session.beginTransaction();
		
		Person p = (Person) session.get(Person.class, "4028d081564a762001564a76221e0000");
		System.out.println(p);
		
		Person p2 = new Person();
		p2.setpName("Tomcat");
		session.save(p2);
		session.getTransaction().commit();
		
	}
}




您可能感兴趣的文档:

--结束END--

本文标题: SSH系列:(3)Hibernate

本文链接: https://lsjlt.com/news/45052.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SSH系列:(3)Hibernate
    (1)引入jar包(2)配置(3)测试1、引入jar包引入mysql jar包mysql-connector-java-5.1.38-bin.jar引入c3p0 jar包c3p0-0.9.1.2.jar引入...
    99+
    2024-04-02
  • Leviathan系列0-3
    level0:warming up 管理员的坏习惯  ls -a                   #发现隐藏目录 .backup    ls .backup/        #发现bookmarks.html     #下载bookma...
    99+
    2023-01-31
    系列 Leviathan
  • krypton系列0-3
    level 0:base64解码    echo S1JZUFRPTklTR1JFQVQ= | base64 -dlevel 1:ROT13加密    百度一个ROT13的解密网站,或者使用前面bandit系列level 11提到的解密命令...
    99+
    2023-01-31
    系列 krypton
  • SSH系列:(26)投诉受理
    1、Hibernate逆向工程1.1、CDM概念模型这里虽然用了T_Complain,但是不建议这样做,因为后面生成JavaBean类时,会生成TComplain.java类,而不是Complain.jav...
    99+
    2024-04-02
  • hibernate HQL 模糊查询 3
    以下是用 hibernate的HQL(面向对象的查询语言)实现模糊查询的3种方式,其中方式一是这三中方式中最理想的方式,至少方式一可以有效的防止由于查询条 件中需要参数的增多导致的代码长度太长出现代码折行的情况(代码太长会给后期的维护和测试...
    99+
    2023-01-31
    模糊 hibernate HQL
  • SCCM 2007系列3 配置
    每天一篇SCCM 2007的系列文章,希望大家喜欢我这样的分享哈~一定要多来捧场哦,当然欢迎大家提问,我尽力把知道的给大家解答哈!上一篇给大家分享了安装SCCM 2007,今天给大家主要分享下配置,我的分享还是老风格,手把手的教,详细的您都...
    99+
    2023-01-31
    系列 SCCM
  • MySQL系列:(3)MySQL加强
    DDL数据定义语言:create / drop / alterDML数据操作语句:insert / delete /update / truncateDQL数据查询语言:select / show2.1、什么是数据约束对表中的列值...
    99+
    2023-01-31
    系列 MySQL
  • JDBC系列:(3)使用Prepared
    执行sql语句的接口接口作用Statement接口用于执行静态的sql语句PreparedStatement接口用于执行预编译sql语句CallableStatement接口用于执行存储过程的sql语句(call xxx)PreparedS...
    99+
    2023-01-31
    系列 JDBC Prepared
  • MyBatis系列:(3)基于MyBat
    Emp.javapackage com.rk.entity; public class Emp {     private Integer id;     private String name;     private Double s...
    99+
    2023-01-31
    系列 MyBatis MyBat
  • Kafka系列3-python版本pro
    直接上代码了: # -*- coding: utf-8 -*- ''' 使用kafka-Python 1.3.3模块 ''' import sys import time import json from kafka im...
    99+
    2023-01-31
    版本 系列 Kafka
  • awk系列3--比较全面
    在各大网站看到的 自己整理的 awk学习实例 [root@localhost opt]# cat grade.txt  M.Tansley  05/99   48311   Green   8  40  44 J.Lulu     06/9...
    99+
    2023-01-31
    系列 awk
  • Redis系列--3、Redis数据类型
    Redis支持5种数据类型,它们描述如下:Strings - 字符串Redis的字符串是字节序列。在Redis中字符串是二进制安全的,这意味着他们有一个已知的长度,是没有任何特殊字符终止决定的,所以可以存储...
    99+
    2024-04-02
  • DVWA系列之3 medium级别SQL
    将“DVWA Security”设置为medium中等级别,首先点击右下角的“View Source”查看此时的网页源码,主要观察与low级别的区别。可以发现,这里对用户输入的id参数进行了过滤,主要方法是使用了mysql_real_esc...
    99+
    2023-01-31
    级别 系列之 DVWA
  • 如何使用Hibernate 3二级缓存
    这篇文章将为大家详细讲解有关如何使用Hibernate 3二级缓存,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.Hibernate3的二级缓存和session级别的缓存一样都只对实体对象做缓存,不对属...
    99+
    2023-06-17
  • [9-13]Shell系列3——分支结构
    本文旨在复习shell实现分支结构的3种if语句和case多分支结构语句,以及补充if和case的执行效率知识储备Shell脚本中语言结构还是那3种:顺序结构、选择结构、循环结构分支结构与选择结构是同一概念,依据一定的条件选择执行路径,而不...
    99+
    2023-01-31
    分支 结构 系列
  • Hibernate 3中怎么实现二级缓存
    Hibernate 3中怎么实现二级缓存,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Hibernate 3二级缓存和session级别的缓存一样都只对实体对象做缓存,不对属性...
    99+
    2023-06-17
  • mysql系列之多实例3----基于my
        上一篇博文mysql系列之多实例2----基于多配置文件介绍了,如何部署基于多配置文件的mysql多实例,本篇博文将介绍基于mysql自带的mysqld_multi工具来如何实现mysql多实例的部署和管理!环境: CentOS 6...
    99+
    2023-01-31
    之多 实例 系列
  • Wireshark系列之3 路由过程抓包
    首先收集每台设备的MAC地址以备分析:服务器A:00-0c-29-bb-bb-7f服务器B:00-0C-29-8C-BF-6D默认网关:00-50-56-fe-c8-98在服务器B上启动Wireshark,然后执行ping命令与A通信,此时...
    99+
    2023-01-31
    路由 过程 系列之
  • python 学习系列(3) 读取并显示
    python 读取并显示图片的两种方法 在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片。本人偏爱 matpoltlib,因为它的语法更像 matlab。 1. 显示图片 imp...
    99+
    2023-01-31
    系列 python
  • WCF系列-WCF基础(3) 宿主方式
    WCF开发框架的宿主方式http://www.cnblogs.com/wuhuacong/archive/2013/02/22/2922195.html http://www.cnblogs.com/Gyoung/p/3651076.htm...
    99+
    2023-01-31
    宿主 方式 基础
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作