hibernate出现如下错误怎么解决?
Communications link failure还有几个地方也报的是类似的连接数据库出错了!连接出错了!在hibernate的配置文件中,配置好mysql的驱动类、数据库的名称和密码!这个格式一般都是定的!
如何实现mysql与oracle同步机制?
用JDBC就能实现
当你要读取数据时 先生成个MySQL的连接
然后Select 再生成个Oracle的连接 把rs弄到那个数据库中去
同步的问题
如果你用Spring的话 里面有事务处理
开起个事务
tm.begin(); //tm是事务对象
把JDBC查询Mysql 并插入Oracle数据的代码
用try catch捕获出来
在catch(Exception e)
{
tm.rollback();//事务回滚
}
应该能够保证同步吧 修改Mysql时 用主键 像楼上所有就行。
hibernate如何汉化?
hibernate汉化中文步骤如下
1.启动hibernate项目,自动创建表。
<property name="hibernate.hbm2ddl.auto">update</property>
插入数据之后发现写入表里的数据里的中文是乱码。
2.修改数据库的字符集为UTF-8,在MySQL安装目录下找到my.ini,将里面的default-character-set=latin1 改为default-character-set=UTF8,然后重起mysql服务即可将数据库默认字符集改为utf8。
3.回到项目的hibernate的配置文件hibernate.cfg.xml里修改name为“hibernate.connection.url"的property的值为:
<propertyname="hibernate.connection.url">jdbc:mysql:///crm?useUnicode=true&characterEncoding=UTF-8</property>
4.然后启动项目,执行代码,插入的中文就不会是乱码了。
Java开发中,MyBatis、Hibernate、Spring Data JPA应该如何选择?
选择哪一种框架,需要结合项目实际来,结合业务场景和团队成员的能力,综合考虑并选择技术方案。
先和大家讲讲每一种框架是啥
Hibernate:POJO与数据库表建立映射关系;Java程序员可以使用操作对象的思维操作数据库。(POJO就是Java Bean,只有有属性、set、get方法)
Mybatis:做的是POJO与SQL之间的映射关系;程序员需要编写SQL;
Spring Data JPA:有人说它是对Hibernate更高级的封装,这种说法是有一些问题的;第二部分详细说明一下。
要解释清楚Spring Data JPA是什么,需要一步步说起
期初Java需要通过各个数据库厂商提供的API进行数据库的访问,后来JAVA提出了JDBC,程序直接使用JDBC这套规范就可以跟各个数据库进行对接;
接着诞生了ORM技术,简化了Java对象的持久化工作,出现了Hibernate、TopLink等ORM框架;
Sun公司在JDK1.5的时候,吸收了Hibernate、TopLink等ORM框架的优点,提出了Java持久化规范:JPA;
Hibernate在3.2的时候提供了JPA的实现,其余的JPA的供应商还有诸如OpenJPA、Toplink等;
Spring在做持久化这一块的工作,开发了Spring-data-xxx这一系列包,如:Spring-data-jpa,Spring-data-redis,Spring-data-mongodb等等,这些都是Spring 提供的基于JPA和其他一些NOSQL的Repository。
Spring data JPA 是在JPA规范的基础下提供了Repository层的实现,但是使用哪一款ORM需要你自己去决定;相比我们更为熟悉的Hibernate和MyBatis,Spring Data JPA可以看做更高层次的抽象。
使用Spring data JPA,默认底层是Hibernate,但是可以修改成其他的ORM框架。
几种框架的优劣
Hibernate开发难度较大,学习周期长;但是可以让开发者无需关心SQL,更专注业务流程;HQL不关心数据库的类型,所以迁移起来很方便;
Mybatis需要手动编写SQL语句(更直观),可更直接地对SQL进行优化,但是数据库移植性差;
Spring Data JPA简化了数据库访问,可以通过命名规范编写SQL,如果SQL较为复杂,还是需要通过注解的方式编写SQL;它更适用于现在微服务的架构(微服务的极致都是单表操作)。
从个人的角度:MyBatis>Spring Data JPA>Hibernate,或者MyBatis + Spring Data JPA。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
还没有评论,来说两句吧...