Hibernate的优势

优秀的Java 持久化层解决方案  (DAO)

主流的对象—关系映射工具产品

简化了JDBC 繁琐的编码

将数据库的连接信息都存放在配置文件

自己的ORM框架

一定要手动实现Hibernate(模拟Hibernate实现)

2:创建一个大配置文件

<?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> <!-- Database connection settings 数据库连接设置-->
<!-- 驱动类 -->
<property name="connection.driver_class">oracle.jdbc.OracleDriver</property><!-- 数据库驱动语言 -->
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property><!-- 数据库连接字符串 -->
<property name="connection.username">cgg</property><!-- 用户名 -->
<property name="connection.password">1</property><!-- 密码 -->
<!-- SQL dialect (sql的方言)-->
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property><!-- 通过oracle数据库的版本规定sql方言 -->
<!-- Echo all executed SQL to stdout 在控制台打印后台的sql语句-->
<property name="show_sql">true</property><!-- 可省,展示生成的sql语句 -->
<!-- 格式化显示sql -->
<property name="format_sql">true</property><!-- 可省,将展示出的sql语句格式化-->
<!-- Drop and re-create the database schema on startup 序列化-->
<property name="hbm2ddl.auto">update</property><!-- 数据库的建表语句首选create,之后选择update -->
     <!--线程绑定-->
     <property name="hibernate.current_session_context_class">thread</property>
    <mapping resource="cn/happy/entity/Student.hbm.xml" /><!-- 关联小配置文件 --> 
  </session-factory> </hibernate-configuration>

创建一个小配置文件

<?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="cn.happy.entity"><!-- 关联哪个包下的类 -->
<class name="Student" table="STUDENT"><!-- 符合一类对应一表 -->
<id name="sid" column="SID"><!-- 生成主键(唯一标识) -->
<!-- 主键生成策略:native: native:如果后台是Oracle 后台是MySQL,自动应用自增 -->
<generator class="increment" />
</id>
<property name="sname" type="string" column="NAME" />
<property name="sage" type="int" column="AGE"/>
</class>
</hibernate-mapping>

测试数据

public class myTest {
Configuration cfg;
Session session;
Transaction tran;
@Before
public void myBefore(){
//读取并解析配置文件
cfg=new Configuration().configure("hibernate.cfg.xml");
//读取并解析映射信息,创建SessionFactory对象
SessionFactory factory = cfg.buildSessionFactory();
//打开session
//使用的getCurrentSession()方法,会自动关闭session
session = factory.getCurrentSession();
//开始一个事务(增删改操作必须,查询操作可选)
tran=session.beginTransaction();
}
@After
public void myAfter(){
//结束事务
tran.commit();;
}
//添加
@Test
public void addTest(){
Student stu=new Student();
stu.setSage(18);
stu.setSname("安哲安哲");
session.save(stu);
}
@Test
public void findTest(){
Student stu = session.load(Student.class, 11);
System.out.print(stu.getSname());
}
@Test
public void upTest(){
Student stu = session.load(Student.class, 11);
stu.setSname("安哲大傻逼");
}
@Test
public void delTest(){
Student stu = session.load(Student.class, 12);
session.delete(stu);
}

通过以上代码,我们就能轻松的使用框架向db端操作数据了

初识Hibernate框架,进行简单的增删改查操作的更多相关文章

  1. python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作

    1.通过 pip 安装 pymysql 进入 cmd  输入  pip install pymysql   回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...

  2. C#+Access 员工信息管理--简单的增删改查操作和.ini配置文件的读写操作。

    1.本程序的使用的语言是C#,数据库是Access2003.主要是对员工信息进行简单的增删改查操作和对.ini配置文件的读写操作. 2.代码运行效果如下: 功能比较简单.其中在得到查询结果后,在查询结 ...

  3. 【OF框架】新建库表及对应实体,并实现简单的增删改查操作,封装操作标准WebApi

    准备 搭建好项目框架及数据库,了解框架规范. 1.数据库表和实体一一对应,表名实体名名字相同,用小写,下划线连接.字段名用驼峰命名法,首字母大写. 2.实体放在Entities目录下,继承Entity ...

  4. IDEA+Maven 整合SSM框架实现简单的增删改查(新手入门,傻瓜操作)

    原博客地址:https://blog.csdn.net/khxu666/article/details/79851070 选用SSM框架的原因在目前的企业级Java应用中,Spring框架是必须的.S ...

  5. SSM框架之MyBatis框架实现简单的增删改查

    MyBatis框架介绍 MyBatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系是一种半自动化的ORM实现,其封装性要低于Hibernate,性能优越,并且小巧,简单易学,应用也 ...

  6. java+jsp+sqlserver实现简单的增删改查操作 连接数据库代码

    1,网站系统开发需要掌握的技术 (1)网页设计语言,html语言css语言等 (2)Java语言 (3)数据库 (4)等 2,源程序代码 (1) 连接数据库代码 package com.jaovo.m ...

  7. Java实现简单的增删改查操作

    需求分析:通过数组 ,完成 对学生信息的 管理 (增删改查)创建1个 学生类创建1个 CRUD的类 – 学生管理类 并测试 在这个程序中我只运用了两个类进行操作 package com.hopu.de ...

  8. 初识hibernate框架之一:进行简单的增删改查操作

    Hibernate的优势 l 优秀的Java 持久化层解决方案  (DAO) l 主流的对象—关系映射工具产品 l 简化了JDBC 繁琐的编码 l 将数据库的连接信息都存放在配置文件 l 自己的ORM ...

  9. Maven+SSM框架实现简单的增删改查

    Spring介绍: spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情.然而, Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Ja ...

随机推荐

  1. nrf52832板子焊接后总结的经验

    将之前打的nrf52832的板子拿到手了,经过一番焊接和调试后,发现了一些问题,因为是第一次画板焊接调试,很多地方做的不好,现在将自己的一些经验总结如下: 1 在制板之前,丝印层有必要好好的检查,建议 ...

  2. Cocos Creator学习一:学习目录以及v2.0 必须关注的网址

    学习目录: <Cocos Creator学习二:查找节点和查找组件> <Cocos Creator学习三:生命周期回调函数> <Cocos Creator学习四:按钮响应 ...

  3. python 绘制点线

    plot(x, y) #默认为蓝色实线 plot(x, y, 'r*') #红色星状标记 plot(x, y, 'go-') #带有圆圈标记的绿线 plot(x, y, 'ks:') #带有正方形标记 ...

  4. Linux安装.net core

    1.添加yum源 rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm 2.升级所有包同时 ...

  5. Robot Framework--ride使用说明2

    RIDE创建项目 1.创建项目 1.1File->New Project 注:选择directory原因是,在directory的项目下可以创建测试套件,如果是tpye为file,则只能创建测试 ...

  6. phpquerylist 抓取数据详解

    参考文档 https://doc.querylist.cc/site/index/doc

  7. .net core 连接mysql

    Package引入: mysql.data MySql.Data.EntityFrameworkCore Pomelo.EntityFrameworkCore.MySql 2. 在package ma ...

  8. ajax 提交数组 泛型集合

    ajax 提交数组 泛型集合 发表于2015/12/31 14:26:29  5117人阅读 分类: mvc asp.net webapi ORM 转载:http://blog.csdn.net/li ...

  9. html和css进阶

    html和css进阶 相对地址与绝对地址 网页上引入或链接到外部文件,需要定义文件的地址,常见引入或链接外部文件包括以下几种: <!-- 引入外部图片 --> <img src=&q ...

  10. 10、Typescript-类的基本用法

    类就是构造函数的另一写法 以前构造函数的写法: 类的基本用法: