项目数据库由 Oracle 换成 Mysql

J2EE 码拜 10年前 (2015-04-19) 1896次浏览 0个评论
 

如题,javaee项目, 基于 struts2 hibernate sring 框架 开发的,现在需求是把数据库由原来的oracle 换成 mysql。 
有没有做过的或熟悉的大神帮帮忙。 谢谢!

项目数据库由 Oracle 换成 Mysql
10分
有Hibernate,换数据库应该可以。
修改hibernate.cfg.xml文件,更改Driver、url、user、password等信息。
项目数据库由 Oracle 换成 Mysql
引用 1 楼  的回复:

有Hibernate,换数据库应该可以。
修改hibernate.cfg.xml文件,更改Driver、url、user、password等信息。

请问如何把oracle的表结构导入到 mysql中呢? 有没有工具什么的? 谢谢!

项目数据库由 Oracle 换成 Mysql
10分
sql,试图,函数。sp..好多都要改

不同DB能导入吗?怀疑

项目数据库由 Oracle 换成 Mysql
引用 3 楼  的回复:

sql,试图,函数。sp..好多都要改

不同DB能导入吗?怀疑

可以导入  刚才找了个小工具(ora2mysqcn) 正在使用中…

项目数据库由 Oracle 换成 Mysql
10分
这个网上应该有工具吧,你在网上搜下看
项目数据库由 Oracle 换成 Mysql
不要沉不要沉。。。。请问如果把oracle 换成mysql的话  java项目配置都要改什么地方? 
目前可以连接上数据库,但是映射实体类时出错。
上段实体类代码看看

public class MatingTimes implements Serializable {
	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seqen")
	@SequenceGenerator(name = "seqen", sequenceName = "SEQ_MATING_TIMES", allocationSize = 1)
	private Integer id;

	@Column(name = "TIME_DESCRIPTION")
	private String timeDescription;
	@Column(name = "REAMRK")
	private String reamrk;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getTimeDescription() {
		return timeDescription;
	}

	public void setTimeDescription(String timeDescription) {
		this.timeDescription = timeDescription;
	}

	public String getReamrk() {
		return reamrk;
	}

	public void setReamrk(String reamrk) {
		this.reamrk = reamrk;
	}
}

代码是oracle时期的 

项目数据库由 Oracle 换成 Mysql
30分
我认为把Oracle数据库的sql语句修改到可以在Mysql中运行就可以了,然后把配置文件改下。Hibernate映射文件等什么的感觉不用改的。
项目数据库由 Oracle 换成 Mysql
引用 7 楼  的回复:

我认为把Oracle数据库的sql语句修改到可以在Mysql中运行就可以了,然后把配置文件改下。Hibernate映射文件等什么的感觉不用改的。

主键生成方式得改,用oracle的时候是用的Sequence,mysql好像不支持Sequence,现在mysql主键设置成自增后出问题了,当保存数据的时候 报错:ids for this class must be manually assigned before calling save();
但是我已经把
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = “seqen”)
@SequenceGenerator(name = “seqen”, sequenceName = “SEQ_MATING_TIMES”, allocationSize = 1)
注释掉了,mysql设置主键自增,为什么还会出这个问题? java 映射实体类时有默认主键生成方式么?网上有说设置 <generator class=”native”></generator> 但是我现在用的是注解的方式配置的,不是xml。需要怎么改?
求指教。

项目数据库由 Oracle 换成 Mysql
主键那个问题解决了,我把mysql主键设置成自增,然后在实体类中设置主键是注解为:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY )
就好了。
项目数据库由 Oracle 换成 Mysql
不要沉不要沉….请问一下   oracle 改成 mysql  有什么需要注意的么?  谢谢呀   
项目数据库由 Oracle 换成 Mysql
10分
有工具可以转换 你搜一下。
项目数据库由 Oracle 换成 Mysql
引用 11 楼  的回复:

有工具可以转换 你搜一下。

恩 数据库是转换过来了,可是项目也得跟着改啊  现在我是把ID生成方式给改了。而且项目也能运行了。现在不知道还有什么地方需要修改? 怕有隐患啊啊啊…

项目数据库由 Oracle 换成 Mysql
30分
我以前自己写的小东西 从Oracle转到mysql了 
貌似我就只改了主键生成策略  其他的Hibernate都帮我弄好了。。。。。
我是用Hibernate自动生成的  没有触发器什么的  就只有table 主外键
项目数据库由 Oracle 换成 Mysql
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property “”driverClass”” threw exception; nested exception is java.beans.PropertyVetoException: Could not locate driver class with name “”com.mysql.jdbc.Driver””.  我的也是把Oracle数据库换成MySQL数据库,但是我的项目报这个错怎么解决?

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明项目数据库由 Oracle 换成 Mysql
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!