好久没写了,都忘记博客了,趁着现在还在公司,写的东西是经过验证的,不是在家凭记忆力写的,正确率有保障,就说说最近遇到的一件事情吧. 以前一直用的oracle数据库,这次项目我负责的模块所在的系统是用的mysql数据库,结果当初建表时候,字段什么的全靠百度,实在是英语不行,然后有个字段叫usage,是mysql数据库的关键字,当时自己测试时候就发现了,但是想着我只是sql语句,加下``,一样可以用,所以就没引起重视. 结果一期已经上线了,现在对这个表要进行其他的维护,才发现用hibernate直接…
public class Employee { private Integer id; private String lastName; private String email; private String gender; //setter与getter省略 } 而数据库中的 last_name字段是这样的与实体不一致 @Test public void test05() throws IOException{ SqlSessionFactory sqlSessionFactory = ge…
@Entity //继承策略.另一个类继承本类,那么本类里的属性应用到另一个类中 @Inheritance(strategy = InheritanceType.JOINED ) @Table(name="INFOM_TESTRESULT") public class TestResult extends IdEntity{} 1 @Entity(name="EntityName") 必须 name为可选,对应数据库中一的个表 @Table(name="&…
♣下载安装Eclipse插件(HibernateTools) ♣Eclipse连接数据库(Mysql5.7) ♣新建hibernate.properties和hibernate.cfg.xml文件 ♣打开Hibernate Configurations窗口 ♣创建hibernate.reveng.xml文件 ♣打开Customize Perspective窗口 ♣最后:生成hibernate实体类和映射文件 1.下载安装Eclipse插件(HibernateTools) 去Hibernate的网…
做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再“自己”建立一变VO.意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表:要么就先进行数据库表设计,再逆向生成实体类.没有说进行完任意一方的设计后再去花时间去自己匹配建立另一方的设计. 原因是: 1. 1.5倍工作量,浪费时间.(时间对公司来说很重要) 2. 无法保证两边映射一致.因为两边都是自己设计的,那么就需要人为保证映射关…
    前言:Session接口是Hibernate向应用程序提供的操作数据库的主要接口,它提供了基本的增删查改方法,而且Session具有一个缓存它是Hibernate的一级缓存.站在持久化层的角度,Hibernate把实体类分为4种状态:持久化状态.临时状态.游离状态和删除状态.本文将会介绍Hibernate这些机制的细节以及使用方法. 1.Hibernate的Session缓存 (1)Session缓存的作用     使用Session的缓存有三大作用: 减少访问数据库的频率,当Sessi…
如何从数据库逆向生成Hibernate实体类呢??? 1. 首先,要在eclipse中采用自带的数据库管理器(Data Management),连通你的数据库: 然后选择数据库,这里用的oracle,然后给个名字,如MyOracle. 点击下图中按钮,新建一个数据库驱动的配置. 选择数据库版本,这里是oracle 10g版本,可以为该配置另起个名字. 然后选择相应数据库版本的jar包. 下面就是依据自身情况填写数据库连接配置了. 接下来,完善Properties下的General选项卡内容,同样…
背景:工作中使用Hibernate进行持久化的开发工作,所以有必要详细了解这方面的知识. ps:这里有个问题就是刷新表的时候速度太慢了.还不如自己手动去创建.如果表太多倒是可以采取批量生成的策略. 在项目开发时,要么先完成数据库表的设计,再逆向生成实体类或者根据需求分析建立实体类,有正向生成数据库表.没有人会浪费大量的时间在进行完任意一方时自己匹配建立另一方设计,这样做还可能导致两边映射不一致,对开发和维护都不利.废话不多说,现在开始实现由数据库逆向生成Hibernate实体类的方法. 1 Ec…
1. Mybatis插入实体类字段为关键字解决方案 1.1. 前言 可能你插入字段为关键字时报如下错误,且字段名不适合改变 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 1.2. 方案一 若自己写的sql,直接在插入语句中字段加上``,比如 insert into (id,`l…
mysql下sql语句 update 字段=字段+字符串   mysql下sql语句令某字段值等于原值加上一个字符串 update 表明 SET 字段= 'feifei' || 字段; (postgreSQL 用 || 来连贯字符串) MySQL连贯字符串不能利用加号(+),而利用concat. 比方在aa表的name字段前加字符'x',利用: update aa set name=concat('x',name) 来自:http://www.cnblogs.com/feifei/archive…