* ***************************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目前应用的对比的更多相关文章

  1. Hibernate与MyBatis的对比

    Hibernate与MyBatis的对比总结,希望大家指出不对之处. 第一章 Hibernate与MyBatis Hibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现 ...

  2. Hibernate与MyBatis的对比总结

    最近做了一个Hibernate与MyBatis的对比总结,希望大家指出不对之处. 第一章     Hibernate与MyBatis Hibernate 是当前最流行的O/R mapping框架,它出 ...

  3. JAVA面试-HIBERNATE与 MYBATIS的对比

    JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结   我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践 ...

  4. Flink入门-第一篇:Flink基础概念以及竞品对比

    Flink入门-第一篇:Flink基础概念以及竞品对比 Flink介绍 截止2021年10月Flink最新的稳定版本已经发展到1.14.0 Flink起源于一个名为Stratosphere的研究项目主 ...

  5. JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结

    我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...

  6. Hibernate和Mybatis的对比

    http://blog.csdn.net/jiuqiyuliang/article/details/45378065 Hibernate与Mybatis对比 1. 简介 Hibernate:Hiber ...

  7. JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)

    hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加 ...

  8. (转)HIBERNATE与 MYBATIS的对比

    第一方面:开发速度的对比 就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些.Mybatis框架相对简单很容易上手,但也相对简陋些.个人觉得要用好Mybatis还是首先要先理解好H ...

  9. HIBERNATE与 MYBATIS的对比

    我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...

随机推荐

  1. springMVC学习路线3-整合spring(annotion方式)

    个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助.不过,如果用都不会,谈思想就变成纸上谈兵了!!!先技术,再思想.实践出真知. 1.基本概念 1.1 Spring   Sp ...

  2. HTTPS(SSL / TLS)免费证书申请及网站证书部署实战总结

    服务器环境:windows server 2008  +  tomcat7 废话不多说,先看部署效果: 一.免费证书申请 Let's Encrypt  简介:let's Encrypt 是一个免费的开 ...

  3. docker基本管理

    一.docker基本命令 1.docker 获取镜像 将从 Docker Hub 仓库下载一个 Ubuntu 12.04 操作系统的镜像 docker pull ubuntu:12.04 Pullin ...

  4. Redis学习-hash数据类型

    hash 类型是string类型的field和value的映射表,或者说是一个string集合,适合存储对象,相比较而言,将一个对象类型存储在hash类型里要比存储在string类型里占用更少的内存空 ...

  5. shell实现自动部署两台tomcat项目Ⅱ

    本次分为3个脚本, scp.sh放进第一台机器(负责传输文件), schenglee.sh放进第一台机器(自动部署), schenglee2.sh放进第二台机器(自动部署) 环境 tomcat1: 1 ...

  6. 加密方法与HTTPS 原理详解

    一:加密方法: 1,对称加密 AES,3DES,DES等,适合做大量数据或数据文件的加解密. 2,非对称加密 如RSA,Rabin.公钥加密,私钥解密.对大数据量进行加解密时性能较低. 二:https ...

  7. String.split()与StringUtils.split()

    我们平时进行简单的字符串分割的时候,尽量不要用String自身的split方法,它是匹配正则表达式的,如果遇到$这种特殊字符,需要转义一下.用StringUtils.split()方法会更方便 使用a ...

  8. Codeforces Round #503 (by SIS, Div. 2) Solution

    从这里开始 题目列表 瞎扯 Problem A New Building for SIS Problem B Badge Problem C Elections Problem D The hat P ...

  9. CSS【04】:CSS组合选择器

    组合选择器 群组(并集)选择器 作用:给所有选择器选中的标签设置属性,可以同时控制多个选择器 格式: 选择器1, 选择器2 { 属性: 值; } 注意点: 必须使用,来连接 选择器可以使用标签名称.i ...

  10. Linux 命令行下导入导出 .sql 文件

    一.导出数据库用的是 mysqldump 命令 1.导出数据和表结构 /usr/bin/mysqldump -u 用户名 -p 数据库名 > 数据库名.sql 敲回车键后会提示输入密码 注意 m ...