
Hibernate_Mybatis
文章平均质量分 73
IT农夫
古人学问无遗力,
少壮工夫老始成。
纸上得来终觉浅,
绝知此事要躬行。
展开
-
Maven 插件生成MyBatis的mapper, xml和Entity类
mybatis-generator 概述MyBatis官方提供了逆向工程 mybatis-generator,可以针对数据库表自动生成MyBatis执行所需要的代码(如Mapper.java、Mapper.xml、POJO)。mybatis-generator 有三种用法:命令行、eclipse插件、maven插件。pom.xml中配置plugin<build> ...原创 2020-04-13 14:09:37 · 494 阅读 · 0 评论 -
Hibernate提供的操作数据库的方法使用和比较
hibernate对于对象的操作提供了很多的方法,本文简单介绍一下这些方法的使用和比较.在说明方法之前,说明一下hibernate中的对象的三种状态,transient,persistent,detached.transient:瞬态或者自由态.persistent:持久化状态.detached:脱管状态或者游离态.状态的判断:大体上来说,存在于session中的对象为pe原创 2010-07-09 18:05:00 · 5933 阅读 · 1 评论 -
Spring 和 Hibernate的集成
Spring对Hibernate的集成提供了很好的支持,Spring提供了对sessionfactory的初始化,用户不用再关心session的open,close,同时,Spring还提供了灵活的事务声明.本文通过实例简单讲述如何在Spring中集成Hibernate.1,将hibernate的配置加入到Spring的配置中(对datasource和sessionfactory进行配置)原创 2010-05-13 16:48:00 · 13040 阅读 · 2 评论 -
Spring声明事务的时候如果代码中有commit会发生什么
在利用Spring声明的事务和Spring提供的对持久层的Template操作数据库的时候,原则上不要在代码里写事务控制的语句(commit).1,用JdbcTemplate和JDBC集成的时候: public void testInsert(int id, String val) { this.jdbcTemplate.update("insert into A (ID, V原创 2012-04-10 17:04:39 · 10237 阅读 · 0 评论 -
MyBatis之动态SQL语句
有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息。使用Oracle的序列、mysql的函数生成Id。这时我们可以使用动态sql。下文均采用mysql语法和函数(例如字符串链接函数CONCAT)。3.1 selectKey 标签在insert语句中,在Oracle经常转载 2012-04-09 14:19:39 · 5008 阅读 · 0 评论 -
MyBatis之SQL语句映射文件增删改查和Java参数如何对应
转载 http://limingnihao.iteye.com/blog/781911select一个select 元素非常简单。例如: SELECT ST.STUDENT_ID, ST.STUDENT_NAME, ST.STUDENT_SEX,转载 2012-04-09 14:07:42 · 19854 阅读 · 1 评论 -
MyBatis映射文件的resultMap如何做表关联
MyBatis的核心是其映射文件,SqlMap文件,里面配置了项目中用到了什么SQL语句,和数据库相关的逻辑都在这个映射文件里.顾名思义,映射文件就是对Java对象和SQL的映射.这里简单介绍一下映射文件中resultMap的用法:resultMap – 它描述如何将结果集映射到Java对象.resultMap属性:type为java实体类;id为此resultMap的标识:resultM原创 2012-04-06 12:16:51 · 45641 阅读 · 7 评论 -
MyBatis之实例简介
MyBatis的本质是一个将SQL语句map到JAVA POJO的框架.(注意与其他ORM框架的区别,如Hibernate是数据库对象到JAVA对象的mapping).它不是用来消除SQL语句的,它主要是用来将SQL从代码中分离出来集中写在map文件中,免除在Java代码中写SQL语句时容易出现少写逗号,SQL语句格式不易读,JDBC重复的大量样板代码等问题.下图是MyBatis的概念视图(图原创 2012-04-05 16:55:26 · 11231 阅读 · 1 评论 -
生成Mybatis的Eclipse插件
1,下载插件所需要的jar包,拷贝到eclipse的 \eclipse\dropins目录,注意不是plugings目录,重新启动eclipse则可以使用了.http://download.youkuaiyun.com/detail/kkdelta/40408802,使用方法,在项目上点右键,点击如下图弹出的菜单选项.3,在弹出的界面中配置数据库信息:4,配置好后选择想要生原创 2012-02-02 13:41:14 · 11337 阅读 · 5 评论 -
通过JDBC和Hibernate对Clob和Blob的操作
本文主要简介通过JDBC和Hibernate对Clob和Blob的操作,插入和读取.一,JDBC方式:1,当lob的内容很小的时候,用sta.setString(2, "clob content"); sta.setBytes(3, "blob".getBytes()); 2,通过steam的方式写入内容:InputStream fis1 = new StringBufferI原创 2010-12-30 17:11:00 · 2658 阅读 · 0 评论 -
Hibernate的dynamic-insert和dynamic-update的使用
Hibernate在初始化的时候,默认按照配置为表预定义insert,delete,update,select(by id)的SQL语句放在session中,其中insert,update,select操作都是对表的所有字段操作.如果在一个表有很多字段的时候,在做初次inser的时候有比较多的字段为空值,或者经常update某少部分字段,应该在配置文件的元素上将dynamic-insert和dyn原创 2012-02-08 17:44:00 · 18540 阅读 · 0 评论 -
Hibernate 中把一对多关系的数据保存到数据库
用Hibernate做持久层的时候,在保存一对多关系的数据的时候,把主表端的inverse设为true,在JAVA对象里把关联做成双向,一次保存主表,效率最高.下面以往主表保存一条数据,子表保存两条数据为例: 1,通过保存主表的方式,inverse设为true,JAVA对象做双向关联,通过跟踪Hibernate的SQL,发现一共有三次insert操作.如果不将子表方关联到主表方(将子表原创 2010-03-05 14:42:00 · 14727 阅读 · 0 评论 -
Hibernate 操作时间型数据的注意点
Hibernate在保存和更新Date类型的数据到数据库的时候,如果设置不当,会舍弃时分秒,和数据库中Date类型的精确度不符(如Oracle的Date是带时分秒的).原创 2010-07-26 15:10:00 · 3070 阅读 · 0 评论 -
Hibernate的关联关系中lazy和fetch的设置
Hibernate中关联关系中lazy和fetch的设置会影响到对数据进行查询时候SQL语句的操作,fetch的设置相对于lazy的优先级更高.原创 2010-07-08 16:03:00 · 9957 阅读 · 0 评论 -
Hibernate 的一些注意点
Hibernate 的一些注意点原创 2010-07-02 17:52:00 · 2900 阅读 · 0 评论 -
Hibernate 中Query的list方法和iterate方法
Hibernate中用hql通过query进行查询的时候,通常会用list或者iterate取得查询到的结果.在此简单说明一下这两个方法的不同之处和适用场景. List:查询到的结果会被完整地放进内存(session的缓存),实体会处于持久状态.如果用迫切连接(fetch)模式,取得的结果可能会存在主表对应的一条记录会在list里存在多个实例(准确的讲是实例引用),多次出现但是指向同一个对原创 2010-04-01 14:43:00 · 9822 阅读 · 0 评论