JPA开发中遇到的各类问题

来源:互联网 发布:中走丝线切割编程入门 编辑:程序博客网 时间:2024/04/30 23:43

错误代码 1045
Access denied for user 'root'@'localhost' (usingpassword:YES)

如果你的mysql也出现以上这种提示,建议你逐个字看完我这篇文章再按以下方法来尝试解决问题.

这是mysql数据库很多时候出现的问题, 网上流传很多解决办法. 有人按照那些方法, 还真可以把问题解决了;但也有很多人按那些方法解决不了问题! 而这个中原因, 就是没有对症下药!!!

网上的那些方法, 很多都没有明确指出是什么版本的mysql, 所以导致问题者不能对症下药.

出现这个问题, 通过停止/重启 mysql 服务, 是可以解决的, 这个是最简单的办法!对于不懂得什么叫做"停止/重启mysql服务"的人来说,这个最简单的办法就是把服务器主机进行重新启动(就是把你的电脑进行重新启动).

以上是方法A!(这个方法适合任何版本的mysql)

 

以下是方法B:(方法仅适用于MySQL4.0.26 版本!!! (我估计,4.0的其他版本应该也可以的))

网上也有说, 就是对root进行重改密码. 对于网上流传的改密码方法, 也是可行的. 请参考以下:

DOS下修改ROOT密码:当然后面安装PHPMYADMIN后修改密码也可以通过PHPMYADMIN修改

格式:mysqladmin -u用户名 -p旧密码 password新密码

例:给root加个密码ideacmblog

首先在进入CMD命令行,转到MYSQL目录下的bin目录,然后键入以下命令

mysqladmin -uroot passwordideacmblog

注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

D:\php\MySQL\bin>mysqladmin-uroot password ideacmblog回车后ROOT密码就设置为ideacmblog了

但是, 请注意了,以上方法仅适用于MySQL4.0.26 版本!!! (我估计, 4.0的其他版本应该也可以的)

 

方法C:

好了, 扯了那么多, 以上的两个方法都不是我本人测试过的,本人不对真实性负责!

而现在我说一下本人亲自试过的方法, 以供参考:

话说今天, 我的服务器所有php及使用了mysql数据库的网站, 均挂掉了!无法打开, 并有以下提示:

错误代码 1045
Access denied for user 'root'@'localhost' (usingpassword:YES)

一开始我也是不断搜索google(我本人不喜欢百度!), 去找寻解决的办法. 看了很多, 也参照执行了,事实上也是解决不了问题. 后来我想到了是版本的问题, 不同的mysql版本,解决办法是不一定一样的!!记住...

我的mysql版本是: 5.0.22(mysql-essential-5.0.22-win32)

今天一整天, 那些php网站均罢工. 到今晚才有时间上去服务器继续寻找方法,但仍然解决不了.

最后,我决定把mysql卸掉重新安装!

卸载很快,而且不需要重新启动计算机.

于是,继续进行安装.

第一步:打开这个mysql-essential-5.0.22-win32.exe文件;

第二步: 见到窗口弹出, 并点击Next> 进入下一步;

第三步: 选择Custom 项, 并点击 Next> 进入下一步;

第四步: 到这一步要注意了, 点击Change... 选择你原安装mysql的目录; 选择后,继续点击Next> 进入下一步;

第五步: 点击Install 进行安装...

安装至下一步, 会提示你进行注册,选择最后一项, 即跳过注册, 进入下一步正式完成安装.

安装完成后, 继续弹出一个窗口,提示你是不是立刻进行配置, 选择 Next

选择StandardConfiguration.继续点击 Next 进入下一步

这一步里, 把上面那行的勾去掉,只在 Include ....PATH 那行打勾, 继续点击 Next 进入下一步

在这一步,点击中间的"Ex****"那顶, 接着配置完毕!

这时候,你去看看你的mysql正常了没有?? !!

这样就ok了!!!

 

 

2222

The processing instructiontarget matching "[xX][mM][lL]" is notallowed.  

这个异常解释为:xml文件不能被解析,一般出现这样的问题在于xml格式上,并且问题多出现在xml文件的头部。

总结:前面不要有任何其他字符,如空格、回车、换行这些否则就会出现上面的异常。

 

配置jdbc驱动  

1.?把下载的jdbc驱动mysql-connector-java-5.1.7.zip解压缩,提取其中的mysql-connector-java-5.1.7-bin.jar文件到适当位置,并设置classpath路径指向该文件。其中classpath在“我的电脑”---->"属性"---->"高级"---->"环境变量"---->"系统变量"中进行设置。
?2.在mysql中
用creat database jtest;命令生成数据库jtest;
use jtest;
利用creat table info(NO varchar(5),NAME varchar(20),AGE varchar(5));生成info表。
insert into info values('1','aa','12'); //插入数据,多插入几个。
select * from info; //查看一下插入的数据。
3.测试代码:建立一个java工程文件。

//mysql的jdbc驱动测试代码

?importjava.sql.*;

public class testMysql{

?public static voidmain(String[] args) {
//驱动程序名
String driverName="com.mysql.jdbc.Driver";
//数据库用户名
String userName="root";
//密码
String userPasswd="root";
//数据库名
String dbName="jtest";
//表名
String tableName="info";
//联结字符串
Stringurl="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;

System.out.println(url);

try{
Class.forName("com.mysql.jdbc.Driver").newInstance();

Connectionconnection=DriverManager.getConnection(url);
Statement statement = connection.createStatement();
String sql="SELECT * FROM "+tableName;//注意FROM后面有空格。
ResultSet rs =statement.executeQuery(sql);
// 获得数据结果集合
ResultSetMetaData rmeta = rs.getMetaData();
// 确定数据集的列数,亦字段数
int numColumns=rmeta.getColumnCount();
// 输出每一个数据值
for(int i=1;i<=numColumns;i++) {
if(i
System.out.print(rmeta.getColumnName(i)+" | ");
else
System.out.println(rmeta.getColumnName(i));
}
while(rs.next()){
for(int i=1;i<=numColumns;i++) {
if(i
System.out.print(rs.getString(i).trim()+" | ");
else
System.out.println(rs.getString(i).trim());
}
}
rs.close();
connection.close();
}

catch(Exception ex){
System.out.println(ex);
System.exit(0);
}

?}
}

4、运行
jdbc:mysql://localhost/jtest?user=root&password=root
NO | NAME | AGE
1 | aa| 12

javax.persistence.PersistenceException:No Persistence provider for EntityManager named ***

检查persistence.xml。

 <persistence-unit name="***"transaction-type="RESOURCE_LOCAL">

 

提示说没找到我们申明的持久单元。

该行:

<provider>org.hibernate.ejb.HibernatePersistence</provider> 

不存在于系统中,需要去hibernate网站

http://hibernate.org/30.html

下载Hibernate EntityManager import到工程中

 

注:

Hibernate 3.2以及以后的版本开始支持JPA,涉及JPA的子项目有三个,

它们分别是:

— Hibernate Core:Hibernate框架的核心实现。

— Hibernate Annotations:支持JDK 5.0的注释。

— Hibernate EntityManager:支持JPA的实现。

原创粉丝点击