基础、hibernate目前应用的对比
* ***************************hibernate** *****************************
一.导包   mysql
二.在默认src下创建hibernate.cfg.xml  
1.创建xml文件,命名为hibernate.cfg.xml
2.添加约束
   (在org.hibernate/hibernate-configuration-3.0.dtd中)
1 <!DOCTYPE hibernate-configuration PUBLIC
2 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
3 "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.url">jdbc:mysql://localhost:3306/houserentsys</property> <!-- houserentsys是数据库名称 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property> <property name="show_sql">true</property>
<property name="format_sql">false</property> <!-- 设置为false就会不换行 -->
<property name="hbm2ddl.auto">update</property> <!-- 进行操作时不会删除重建--> <!--hbm2ddl.auto属性:
create:表示启动的时候先drop,再create
c
reate-drop: 也表示创建,只不过再系统关闭前执行一下drop
update: 这个操作启动的时候会去检查schema是否一致,如果不一致会做scheme更新
validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新
-->
<mapping resource="edu/tsinghua/entity/mapping/district.xml"/>
<mapping resource="edu/tsinghua/entity/mapping/street.xml"/> </session-factory>
</hibernate-configuration>
hbm2ddl.auto属性:
   create:表示启动的时候先drop,再create
   create-drop: 也表示创建,只不过再系统关闭前执行一下drop
   update: 这个操作启动的时候会去检查schema是否一致,如果不一致会做scheme更新
   validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新
三.实体  实现序列化接口  封装属性和构造方法    实体.xml  位置随意
   (在org.hibernate/hibernate-mapping-3.0.dtd中)
   <!DOCTYPE hibernate-mapping PUBLIC 
      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
      "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
     在hibernate.cfg.xml 添加 映射文件的引用
   <mapping resource="edu.tsinghua.entity.mapping.district"/>
七个步骤(在新建的执行文件Test.java中)
  //1.加载配置文件
  Configuration cfg=new Configuration().configure();
  //2.获得sessionfactory
  ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
  SessionFactory sf=cfg.buildSessionFactory(serviceRegistry);
  //3.创建session
  Session session=sf.openSession();
  //4.创建事务
  Transaction tx=session.beginTransaction();
  //5.操作
  District dis=new District(100,"海淀区");
  session.save(dis);
  //6.提交 回滚
  tx.commit();//tx.rollback();
  //7.释放资源
  session.close();
  sf.close();
** ****************************框架** ************************************
String sql = " select districtcode, sum(amountSubsidies) amountsubsidies"
+" from tb_areawatersupply a where bzYear='"+fyear+"' group by districtCode order by districtCode ";
SQLQuery sqlQuery = getSession().createSQLQuery(sql.toString());
sqlQuery.addScalar("districtcode", StringType.INSTANCE);
sqlQuery.addScalar("amountsubsidies", DoubleType.INSTANCE);
List<TbAreawatersupply> list = (List<TbAreawatersupply>) sqlQuery.setResultTransformer(
Transformers.aliasToBean(TbAreawatersupply.class)).list();
** *************************************基础*** ****************************************************
publicclassMySQLDemo {
// JDBC 驱动名及数据库 URLstaticfinalStringJDBC_DRIVER = "com.mysql.jdbc.Driver";
    staticfinalStringDB_URL = "jdbc:mysql://localhost:3306/RUNOOB";
// 数据库的用户名与密码,需要根据自己的设置
    staticfinalStringUSER = "root";
    staticfinalStringPASS = "123456";
publicstaticvoidmain(String[] args) {
        Connectionconn = null;
        Statementstmt = null;
        try{
            // 注册 JDBC 驱动
            Class.forName("com.mysql.jdbc.Driver");
// 打开链接
            System.out.println("连接数据库...");
            conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 执行查询
            System.out.println(" 实例化Statement对象...");
            stmt = conn.createStatement();
            Stringsql;
            sql = "SELECT id, name, url FROM websites";
            ResultSetrs = stmt.executeQuery(sql);
// 展开结果集数据库
            while(rs.next()){
                // 通过字段检索
                intid  = rs.getInt("id");
                Stringname = rs.getString("name");
                Stringurl = rs.getString("url");
// 输出数据
                System.out.print("ID: " + id);
                System.out.print(", 站点名称: " + name);
                System.out.print(", 站点 URL: " + url);
                System.out.print("\n");
            }
            // 完成后关闭
            rs.close();
            stmt.close();
            conn.close();
        }catch(SQLExceptionse){
            // 处理 JDBC 错误
            se.printStackTrace();
        }catch(Exceptione){
            // 处理 Class.forName 错误
            e.printStackTrace();
        }finally{
            // 关闭资源
            try{
                if(stmt!=null)stmt.close();
            }catch(SQLExceptionse2){
            }// 什么都不做
            try{
                if(conn!=null)conn.close();
            }catch(SQLExceptionse){
                se.printStackTrace();
            }
        }
        System.out.println("Goodbye!");
    }
}
基础、hibernate目前应用的对比的更多相关文章
- Hibernate与MyBatis的对比
		
Hibernate与MyBatis的对比总结,希望大家指出不对之处. 第一章 Hibernate与MyBatis Hibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现 ...
 - Hibernate与MyBatis的对比总结
		
最近做了一个Hibernate与MyBatis的对比总结,希望大家指出不对之处. 第一章 Hibernate与MyBatis Hibernate 是当前最流行的O/R mapping框架,它出 ...
 - JAVA面试-HIBERNATE与 MYBATIS的对比
		
JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结 我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践 ...
 - Flink入门-第一篇:Flink基础概念以及竞品对比
		
Flink入门-第一篇:Flink基础概念以及竞品对比 Flink介绍 截止2021年10月Flink最新的稳定版本已经发展到1.14.0 Flink起源于一个名为Stratosphere的研究项目主 ...
 - JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结
		
我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...
 - Hibernate和Mybatis的对比
		
http://blog.csdn.net/jiuqiyuliang/article/details/45378065 Hibernate与Mybatis对比 1. 简介 Hibernate:Hiber ...
 - JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)
		
hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加 ...
 - (转)HIBERNATE与 MYBATIS的对比
		
第一方面:开发速度的对比 就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些.Mybatis框架相对简单很容易上手,但也相对简陋些.个人觉得要用好Mybatis还是首先要先理解好H ...
 - HIBERNATE与 MYBATIS的对比
		
我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...
 
随机推荐
- 项目中常用的javascript/jquery操作
			
1.判断复选框是否被选中? $("#cpuWindow").is(':checked'); 2.设置复选框被选中: $("#cpuWindow").prop(& ...
 - HTML5入门教程:响应式页面布局
			
摘自:https://www.sohu.com/a/225633935_647584 随着互联网时代的发展,我们对网页布局有了新的要求,大气,美观,能够在不同的设备上呈现令人焕然一新的效果.此时,一个 ...
 - hisi 生产固件生成
			
生产需求,需要16M bin 文件 给 spi flash烧写 一般有三种方式 1.把文件都导入flash,拆了flash 用烧录器读取,比较可靠! 2.编译时候合并,需要在空余地方填充0xFF拼成1 ...
 - linux命令之pssh命令
			
查看一下pssh命令的帮助文档: [root@test2 ~]# pssh --version [root@test2 ~]# pssh --help Usage: pssh [OPTIONS] co ...
 - Python import模块
			
import模块 一.模块介绍 1.定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应的模块名:t ...
 - 剑指offer(61)序列化二叉树
			
题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 题目分析 首先拿到题目时候,我先想到的是什么是序列化二叉树?序列化主要就是在前后端交互时候需要转换下,毕竟网络传输的是流式数据(二进制或者文本 ...
 - Python新手入门英文词汇(1-1)
			
英文词汇总结一.交互式环境与print输出 1.print:打印/输出2.coding:编码3.syntax:语法4.error:错误5.invalid:无效6.identifier:名称/标识符7. ...
 - 【CentOS 7】CentOS7与CentOS6 的区别
			
前言 centos7与6之间最大的差别就是初始化技术的不同,7采用的初始化技术是Systemd,并行的运行方式,除了这一点之外,服务启动.开机启动文件.网络命令方面等等,都说6有所不同. 一.系统初始 ...
 - Machine Learning--week4 神经网络的基本概念
			
之前的学习成果并不能解决复杂的非线性问题 Neural Networks Sigmoid(logistic) activation function: activation function is a ...
 - 揭示牌面使之升序 Reveal Cards In Increasing Order
			
2019-03-27 14:10:37 问题描述: 问题求解: 模拟题.考虑角度是从结果来进行反推. input - [2,3,5,7,11,13,17] (just sort the input t ...