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. 【Mac】【问题】

    [一]export: `PATH;': not a valid identifier 可能是环境变量配的有问题 一般是~/.bash_profile 多了空格或是多了$符号之类的

  2. c++_day5_成员指针

    1.成员指针实质:特定成员变量在对象实例中的相对地址. 2.类内可以直接初始化静态常量(声明部分).

  3. 1047 Integer Inquiry

    String 大数加法模板 #include<stdio.h> #include<string> #include<iostream> using namespac ...

  4. 403 Access Denied :进入Tomcat的manager时拒绝访问

    解决办法: https://blog.csdn.net/Hello_World_QWP/article/details/79581174

  5. [English] Time complexity wise this solution is the best among all

    Time complexity wise this solution is the best among all, we can do all operations in O(1) time. 时间复 ...

  6. git上传

    #1.Git 全局设置: git config --global user.name "skbarcode" git config --global user.email &quo ...

  7. .Net mvc 上传多文件

    .net mvc 上传多文件有很多种方式,我的方法只是其中一种, 仅供参考,我主要是注重参数传递的过程,后面文件保存的地方省略.. 调试环境 vs2017 控制器代码: [HttpPost] publ ...

  8. 微信 + weui 框架记录

    WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一: 包含button.cell.dialog. progress. to ...

  9. vue中$refs的使用

    vue中$refs获取组件或元素: 获取的元素就相当于是一个原生获取的元素,可以进行操作 this.$refs.ele.style.color = 'red

  10. (转)Jquery on()事件委派

    今天浏览jQuery的deprecated列表,发现live()和die()在里面了,赶紧看了一下,发现从jQuery1.7开始,jQuery引入了全新的事件绑定机制,on()和off()两个函数统一 ...