A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 乌卡卡 中级黑马   /  2015-7-2 10:47  /  534 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一、mybatis是ibatis的升级本,ibatis原是apache的一个开源项目,后转到google code下去了, 前者相比于后者,功能更强大,与hibernate,jpA更接近,换句话说,更接近于持久层框架标准,之前的ibatis中很大部分有SQL的成分,从配置文件中可以看出。MyBaits 并不是完全ORM , 需要在xml中配置SQL语句,与hibernate最大的区别总结为SQL语句封装程度 Hibernate 大于 MyBatis
二、数据基本类型与封装类型(比如:int与Integer)
基本类型是首字母小写的,不面对对象,而封装类型除了Integer和character类以外,其它六个类的类名和基本数据类型都是类名的第一个字母大写即可。对于封装类型而言,因为是面向对象的,所以有很多面向对象的功能,比如Integer.toString();在JDK1.5(5.0)版本后,JAVA支持基本类型与封装类型的自动转换。
三 、在持久层框架hibernate的实体映射配置文件中,设置主键的生成策略(1)native可根据底层数据库自动选择合适的主键生成策略,适合于跨数据库的开发,uuid会产生不重复的32位字符串作为主键,适合用于网络环境下生成唯一的字符标识符,但是该种策略占用空间较大,所以一直未流行。
(2)identity支持自动增长,因此主键应该是数值类型,适用于MySQL、DB2、MS SQL Server,采用数据库生成的主键,用于为long、short、int类型生成唯一标识。
(3)increment也是支持主键值自动增长,由Hibernate在内存中生成主键,每次增量为1,不依赖于底层的数据库,因此所有的数据库都可以使用.
(4)sequence用于支持DB2、Oracle均支持的序列,用于为long、short或int生成唯一标识.
(5)assigned由应用程序负责生成主键标识符,往往使用在数据库中没有代理主键,使用的主键与业务相关的情况.
四、Hibernate开发包中的antlr.jar是一个语言转换工具,用于把HQL转换为SQL。其工具模板中的setFirstResult(int **)和setMaxResult(int **)分别为从第几条记录开始查询和返回记录的条数。在hibernate属性配置文件中指定类型type时,有三种方法(1) java类型  java.lang.String
                        (2) hibernate类型 string
                        (3) SQL类型 varchar(20)(未实验成功)
五、hibernate.hbm2ddl.auto  DDL策略,主要建表语句,和表结构更新语句
(1)create:表示启动的时候先drop,再create (测试人员 准备标准测试数据)
(2)create-drop: 也表示创建,只不过再系统关闭前执行一下drop  (测试程序是否正确)
(3)update: 这个操作启动的时候会去检查schema是否一致,如果不一致会做scheme更新 (建表,更新表结构【只能加】)
(4)validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新
在实际开发中, update 和 validate 使用较多

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马