idea 怎么连接服务器ibm 数据库服务器?

idea hibernate mysql诡异的连接问题 - 开源中国社区
当前访客身份:游客 [
当前位置:
首先mysql的配置没有问题。因为我在IDEA中新建DATA Source然后配置好后是可以连接的,执行建表操作也没有任何问题(idea自带的数据库连接没有任何问题)
然后从持久化窗口中右键项目选择生成持久化mapping。这时生成hibernate.cfg.xml和mapping.xml
接下来按照官方文档上Get Started里添加HibernateUtils类,创建sessionFactory。
然后写一个测试来测试是否能成功创建,报异常:
com.mysql.jdbc.municationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
Caused by: com.mysql.jdbc.municationsException: Communications link failure
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
Caused by: java.net.ConnectException: 拒绝连接
at java.net.PlainSocketImpl.socketConnect(Native Method)
并且从这个hibernate.cfg.xml生成data source然后点syn时也会报这个错,而idea直接生成的mysql data source就没有任何问题。
版本信息如下:
&dependency&
&groupId&org.hibernate&/groupId&
&artifactId&hibernate-core&/artifactId&
&version&4.3.0.Final&/version&
&/dependency&
&dependency&
&groupId&mysql&/groupId&
&artifactId&mysql-connector-java&/artifactId&
&version&5.1.9&/version&
&/dependency&
服务器版本: 5.5.32 - MySQL Community Server (GPL)
难道是connector的问题?自带的是从idea那里下的driver而项目配置的是从maven库里下的driver。
共有1个答案
<span class="a_vote_num" id="a_vote_num_
解决了。。原来真的是driver版本的问题,idea用的是5.1.26,把项目中的也改成5.1.26就好了。。
更多开发者职位上
有什么技术问题吗?
cgcgbcb...的其它问题
类似的话题在IntelliJ IDEA中配置MySQL Database.
Database是我们事先建立的数据库,对应我们的某一个项目.
添加Hibernate框架.
项目上右键-&Add Framework Support.
Package是放置我们的实体类,一般是xx.xx.model就可以了.
生成的实体类已经包含了映射信息,所以不需要x.hbm.xml文件了.
@Table(name = "users", schema = "mydb", catalog = "")
public class UsersEntity {
private int
@Column(name = "id", nullable = false)
public int getId() {
public void setId(int id) {
@Column(name = "name", nullable = true, length = 100)
public String getName() {
public void setName(String name) {
this.name =
@Column(name = "age", nullable = true)
public Byte getAge() {
public void setAge(Byte age) {
this.age =
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
UsersEntity that = (UsersEntity)
if (id != that.id) return false;
if (name != null ? !name.equals(that.name) : that.name != null) return false;
if (age != null ? !age.equals(that.age) : that.age != null) return false;
return true;
public int hashCode() {
int result =
result = 31 * result + (name != null ? name.hashCode() : 0);
result = 31 * result + (age != null ? age.hashCode() : 0);
那么再来看看Hiebrnate的配置文件,注意,该配置文件不在正确的路径上。在WEB-INF下建立文件夹classes,放进去.
没有Driver的jar包.
拷贝到lib目录中,还没完,为什么呢?没有添加到Build Path中.看!前面都没有三角标记.
跟别人不一样嘛.
右键项目-&Open Model Settings-&Libraries.
要注意关注Problems.
系统为我们生成了数据库连接的代码
public class Main {
private static final SessionFactory ourSessionF
private static final ServiceRegistry serviceR
Configuration configuration = new Configuration();
configuration.configure();
serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
ourSessionFactory = configuration.buildSessionFactory(serviceRegistry);
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
public static Session getSession() throws HibernateException {
return ourSessionFactory.openSession();
public static void main(final String[] args) throws Exception {
final Session session = getSession();
System.out.println("querying all the managed entities...");
final Map metadataMap = session.getSessionFactory().getAllClassMetadata();
for (Object key : metadataMap.keySet()) {
final ClassMetadata classMetadata = (ClassMetadata) metadataMap.get(key);
final String entityName = classMetadata.getEntityName();
final Query query = session.createQuery("from " + entityName);
System.out.println("executing: " + query.getQueryString());
for (Object o : query.list()) {
System.out.println("
} finally {
session.close();
新建目录db,将Main类改名成DbConnections.
,实体也放进去.
获取数据库中的数据
@Controller
@RequestMapping("/users")
public class UserController {
@RequestMapping(value = "/list.do", method = RequestMethod.GET)
public String listUsers(ModelMap map) {
Session session = DbConnections.getSession();
List&UsersEntity& list = session.createCriteria(UsersEntity.class).list();
map.addAttribute("users", list);
session.close();
return "users";
doc + Alt + /:生成html模板,Alt + /需要自己配置.
&%@ page import="com.tuniu.db.entities.UsersEntity" %&
&%@ page import="java.util.List" %&
&%@ page pageEncoding="utf-8" %&
&meta charset="UTF-8"&
&title&Document&/title&
&%for (UsersEntity e:(List&UsersEntity&)request.getAttribute("users")){%&
&li&名字:&%out.println(e.getName());%&,年龄:&%out.println(e.getAge());%&&/li&
向数据库中添加用户:
@Controller
@RequestMapping("/users")
public class UserController {
@RequestMapping(value = "/list.do", method = RequestMethod.GET)
public String listUsers(ModelMap map) {
Session session = DbConnections.getSession();
List&UsersEntity& list = session.createCriteria(UsersEntity.class).addOrder(Order.desc("id")).list();
map.addAttribute("users", list);
session.close();
return "users";
@RequestMapping(value = "/add.do", method = RequestMethod.GET)
public String addUser() {
return "add_user";
@RequestMapping(value = "/result.do", method = RequestMethod.GET)
public String result(ModelMap map, String name, int age) {
map.addAttribute("name", name);
map.addAttribute("age", age);
Session session = DbConnections.getSession();
Transaction transaction = session.beginTransaction();
UsersEntity ue = new UsersEntity();
ue.setName(name);
ue.setAge((byte) age);
session.save(ue);
session.close();
return "redirect:list.do";
&%@ page pageEncoding="utf-8" %&
&meta charset="UTF-8"&
&title&Document&/title&
&form action="/users/result.do" method="get" &
名字:&input type="text" name="name"/&
年龄:&input type="text" name="age"&
&input type="submit" value="submit"/&
阅读(...) 评论()10:11 提问
intellij idea 中javaweb 连 oracle错误
在Eclipse中运行正常的web应用,数据库连接正常(在Navicat中连接也是正常的),把项目移动到intellij idea中后报错:
10:00:50,809
WARN (com.mchange.v2.resourcepool.BasicResourcePool:1841) - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6e68d505 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
java.sql.SQLException: Io ??: The Network Adapter could not establish the connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:254)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:386)
at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:413)
at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:164)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:752)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
10:00:50,811
WARN (com.mchange.v2.resourcepool.BasicResourcePool:1841) - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@4d24bd93 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
java.sql.SQLException: Io ??: The Network Adapter could not establish the connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:254)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:386)
at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:413)
at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:164)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:752)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
362关注|290收录
410关注|1135收录
1469关注|769收录
其他相似问题java_idea使用(13)
java_web(50)
转载请注明出处:)。
注:在阅读本文前,请先阅读:
访问GitHub下载最新源码:
文章已针对IDEA 15做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码。
六、数据库配置
& & & 下面,就要通过一个简单的例子,来介绍SpringMVC如何集成Spring Data JPA(由 Hibernate JPA 提供),来进行强大的数据库访问,并通过本章节的讲解,更加深刻地认识Controller是如何进行请求处理的,相信看完这一章节,你就可以开始你的开发工作了。
准备工作:
&&&&在src\main\java中新建两个包:com.gaussic.model、com.gaussic.repository,将在后面用上,如下图所示:
1、创建Mysql数据库
& & & 本文的讲解使用Mysql数据库,如果使用其它数据库的读者,可以去网上参考其他的配置教程,在此不做太多的叙述。数据库是一个底层的东西,底层的细节对上层的抽象并没有太大的影响,因此,只要配置好数据库,本章的内容仍然是适用于所有数据库的(貌&#20284;如此)。
& & & 假设我们现在要建立一个小小的博客系统,其数据库ER图如下所示(当然这只是一个小小的例子,真实的博客系统比这要复杂的多):
& & 新建一个数据库springdemo,在数据库中,有两张表:
&&&&(1)用户表user:用户登录信息,主键id设为自增;
&&&&(2)博文表blog:储存用户发表的博文,主键id设为自增,其中有一个外键user_id链接到user表。
&&&&详细表结构如下图所示:
使用MySQL Workbench添加外键流程:
注意:在添加外键时,应该根据需求设置,例如右边红框中的Foreign Key Options,默认在Delete时是NO ACTION,说明在删除一个用户时,如果数据库中存在该用户的文章,那么就无法删除该用户,也无法删除该用户的所有文章,而如果将该选项改为CASCADE,那么删除该用户,就会同时删除该用户所有的文章。通常后者是不太可取的,因为如果发生了删除用户的误操作,很有可能该用户的内容被连带删除,且不可逆,这也是实现真实系统时需要考虑的原因之一。
2、IntelliJ IDEA导入数据库
&&&&对于此前所接触的一些常用的框架中,一张数据表往往对应一个Java Bean。在SpringMVC中,这个Java Bean相当于model。那么,这个类是否需要自己来写呢?不需要,利用IntelliJ IDEA可以帮我们自动的生成这些JavaBean。
& & 首先,右键项目,选择Add Framework Support:
下拉选择JavaEE Persistence,右边provider选择Hibernate:
注:这一部分有一点过时,更新的项目中直接把数据库的配置放在了mvc-dispatcher-servlet.xml中,但依然要做这一步的操作,为了这一步可以使用Persistence的工具。
关于新的配置,可以翻到博客底部。
&&&&在这一步结束后,我们可以发现,在resources里面生成了persistence.xml配置文件,左边栏出现了一个Persistence标题(若没有请点击左下角那个灰框):
&&&&persistemce.xml具体如下:
&?xml&version=&1.0&&encoding=&UTF-8&?&
&xmlns=&/xml/ns/persistence&&version=&2.0&&
&&&&&name=&NewPersistenceUnit&&
&&&&&&&&&org.hibernate.ejb.HibernatePersistence&
&&&&&&&&&&&&&name=&hibernate.connection.url&&value=&&/&
&&&&&&&&&&&&&name=&hibernate.connection.driver_class&&value=&&/&
&&&&&&&&&&&&&name=&hibernate.connection.username&&value=&&/&
&&&&&&&&&&&&&name=&hibernate.connection.password&&value=&&/&
&&&&&&&&&&&&&name=&hibernate.archive.autodetection&&value=&class&/&
&&&&&&&&&&&&&name=&hibernate.show_sql&&value=&true&/&
&&&&&&&&&&&&&name=&hibernate.format_sql&&value=&true&/&
&&&&&&&&&&&&&name=&hbm2ddl.auto&&value=&update&/&
&&&&我们先不着急填写这个配置文件。点开左边栏的Persistence,显示如下图所示:
右键项目名,选择Generate Persistence Mapping,再选择By Database Schema:
出现如下界面,其主要需要配置的地方如下图红框所示:
&&&&点击Choose Data Source右边的三个点选择数据源,在弹出的界面左上角选择“&#43;”,选择Mysql:
在如下界面填写主机、端口号、数据库名、用户名、密码,如果驱动丢失点击下面的Download可以下载驱动,点击 Test Connection可以测试数据库是否连接成功:
&&&&在以上界面配置完成后,点OK,第一次使用需要Setup Master Password:
& & 回到如下页面,package填写model包(1),勾选Prefer primitive type使用原始数据类型(2),勾选Show default relationships以显示所有数据库关系(3),再点击刷新按钮(4),将会找到数据库中的两个表,勾选两个数据表(5),再勾选Generate Column Defination以生成每一列的描述信息(6)。选中blog表然后点击“&#43;”号按钮,添加外键关系(7)。
& & 点击OK后,在Database Schema Mapping中可以发现多出了两个关系,如图所示:
& &再点击OK,稍后,打开model包,可以看到生成了两个Java Bean,在SpringMVC中称为两个实体,它们对应了数据库的两张表:
BlogEntity如下所示(注意把java.sql.Date改为java.util.Date):
package&com.gaussic.
import&javax.persistence.*;
import&java.util.D
@Table(name&=&&blog&,&schema&=&&springdemo&,&catalog&=&&&)
public&class&BlogEntity&{
&&&&private&int&
&&&&private&String&
&&&&private&String&
&&&&private&Date&pubD
&&&&private&UserEntity&userByUserId;
&&&&@Column(name&=&&id&,&nullable&=&false)
&&&&public&int&getId()&{
&&&&&&&&return&
&&&&public&void&setId(int&id)&{
&&&&&&&&this.id&=&
&&&&@Basic
&&&&@Column(name&=&&title&,&nullable&=&false,&length&=&100)
&&&&public&String&getTitle()&{
&&&&&&&&return&
&&&&public&void&setTitle(String&title)&{
&&&&&&&&this.title&=&
&&&&@Basic
&&&&@Column(name&=&&content&,&nullable&=&true,&length&=&255)
&&&&public&String&getContent()&{
&&&&&&&&return&
&&&&public&void&setContent(String&content)&{
&&&&&&&&this.content&=&
&&&&@Basic
&&&&@Column(name&=&&pub_date&,&nullable&=&false)
&&&&public&Date&getPubDate()&{
&&&&&&&&return&pubD
&&&&public&void&setPubDate(Date&pubDate)&{
&&&&&&&&this.pubDate&=&pubD
&&&&@Override
&&&&public&boolean&equals(Object&o)&{
&&&&&&&&if&(this&==&o)&return&true;
&&&&&&&&if&(o&==&null&||&getClass()&!=&o.getClass())&return&false;
&&&&&&&&BlogEntity&that&=&(BlogEntity)&o;
&&&&&&&&if&(id&!=&that.id)&return&false;
&&&&&&&&if&(title&!=&null&?&!title.equals(that.title)&:&that.title&!=&null)&return&false;
&&&&&&&&if&(content&!=&null&?&!content.equals(that.content)&:&that.content&!=&null)&return&false;
&&&&&&&&if&(pubDate&!=&null&?&!pubDate.equals(that.pubDate)&:&that.pubDate&!=&null)&return&false;
&&&&&&&&return&true;
&&&&@Override
&&&&public&int&hashCode()&{
&&&&&&&&int&result&=&
&&&&&&&&result&=&31&*&result&&#43;&(title&!=&null&?&title.hashCode()&:&0);
&&&&&&&&result&=&31&*&result&&#43;&(content&!=&null&?&content.hashCode()&:&0);
&&&&&&&&result&=&31&*&result&&#43;&(pubDate&!=&null&?&pubDate.hashCode()&:&0);
&&&&&&&&return&
&&&&@ManyToOne
&&&&@JoinColumn(name&=&&user_id&,&referencedColumnName&=&&id&,&nullable&=&false)
&&&&public&UserEntity&getUserByUserId()&{
&&&&&&&&return&userByUserId;
&&&&public&void&setUserByUserId(UserEntity&userByUserId)&{
&&&&&&&&this.userByUserId&=&userByUserId;
&&&&再看UserEntity:
package&com.gaussic.
import&javax.persistence.*;
import&java.util.C
@Table(name&=&&user&,&schema&=&&springdemo&,&catalog&=&&&)
public&class&UserEntity&{
&&&&private&int&
&&&&private&String&
&&&&private&String&
&&&&private&String&firstN
&&&&private&String&lastN
&&&&private&Collection&BlogEntity&&blogsById;
&&&&@Column(name&=&&id&,&nullable&=&false)
&&&&public&int&getId()&{
&&&&&&&&return&
&&&&public&void&setId(int&id)&{
&&&&&&&&this.id&=&
&&&&@Basic
&&&&@Column(name&=&&nickname&,&nullable&=&false,&length&=&45)
&&&&public&String&getNickname()&{
&&&&&&&&return&
&&&&public&void&setNickname(String&nickname)&{
&&&&&&&&this.nickname&=&
&&&&@Basic
&&&&@Column(name&=&&password&,&nullable&=&false,&length&=&45)
&&&&public&String&getPassword()&{
&&&&&&&&return&
&&&&public&void&setPassword(String&password)&{
&&&&&&&&this.password&=&
&&&&@Basic
&&&&@Column(name&=&&first_name&,&nullable&=&true,&length&=&45)
&&&&public&String&getFirstName()&{
&&&&&&&&return&firstN
&&&&public&void&setFirstName(String&firstName)&{
&&&&&&&&this.firstName&=&firstN
&&&&@Basic
&&&&@Column(name&=&&last_name&,&nullable&=&true,&length&=&45)
&&&&public&String&getLastName()&{
&&&&&&&&return&lastN
&&&&public&void&setLastName(String&lastName)&{
&&&&&&&&this.lastName&=&lastN
&&&&@Override
&&&&public&boolean&equals(Object&o)&{
&&&&&&&&if&(this&==&o)&return&true;
&&&&&&&&if&(o&==&null&||&getClass()&!=&o.getClass())&return&false;
&&&&&&&&UserEntity&that&=&(UserEntity)&o;
&&&&&&&&if&(id&!=&that.id)&return&false;
&&&&&&&&if&(nickname&!=&null&?&!nickname.equals(that.nickname)&:&that.nickname&!=&null)&return&false;
&&&&&&&&if&(password&!=&null&?&!password.equals(that.password)&:&that.password&!=&null)&return&false;
&&&&&&&&if&(firstName&!=&null&?&!firstName.equals(that.firstName)&:&that.firstName&!=&null)&return&false;
&&&&&&&&if&(lastName&!=&null&?&!lastName.equals(that.lastName)&:&that.lastName&!=&null)&return&false;
&&&&&&&&return&true;
&&&&@Override
&&&&public&int&hashCode()&{
&&&&&&&&int&result&=&
&&&&&&&&result&=&31&*&result&&#43;&(nickname&!=&null&?&nickname.hashCode()&:&0);
&&&&&&&&result&=&31&*&result&&#43;&(password&!=&null&?&password.hashCode()&:&0);
&&&&&&&&result&=&31&*&result&&#43;&(firstName&!=&null&?&firstName.hashCode()&:&0);
&&&&&&&&result&=&31&*&result&&#43;&(lastName&!=&null&?&lastName.hashCode()&:&0);
&&&&&&&&return&
&&&&@OneToMany(mappedBy&=&&userByUserId&)
&&&&public&Collection&BlogEntity&&getBlogsById()&{
&&&&&&&&return&blogsById;
&&&&public&void&setBlogsById(Collection&BlogEntity&&blogsById)&{
&&&&&&&&this.blogsById&=&blogsById;
3、配置数据库
&&&&既然数据库已经导入了,那么前期准备工作基本完成,还需要进行最终的配置。
&&&&首先,打开mvc-dispatcher-servlet.xml,添加下列配置(如果某些地方报错,请选中并按Alt &#43; Insert补全配置):
&base-package=&com.gaussic.repository&/&
&id=&entityManagerFactory&&class=&org.springframework.orm.jpa.LocalEntityManagerFactoryBean&&
&&&&&name=&persistenceUnitName&&value=&defaultPersistenceUnit&/&
&id=&transactionManager&&class=&org.springframework.orm.jpa.JpaTransactionManager&&
&&&&&name=&entityManagerFactory&&ref=&entityManagerFactory&/&
&transaction-manager=&transactionManager&/&
&&&&讲解:
&&&&(1) jpa:repositories:这一部分涉及到数据库的接口,将在后面详解;
&&&&(2)entityManagerFactory:实体管理器工厂,读取persistence.xml配置;
& & (3)transactionManager:事务管理器,利用entityManager进行事务管理;
&&&&(4)tx:annotation-driven:打开事务管理器的注解驱动,可以使用注解的方法操纵数据库。
整体如下所示:
&?xml&version=&1.0&&encoding=&UTF-8&?&
&xmlns=&http://www.springframework.org/schema/beans&
&&&&&&&xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
&&&&&&&xmlns:context=&http://www.springframework.org/schema/context&
&&&&&&&xmlns:mvc=&http://www.springframework.org/schema/mvc&
&&&&&&&xmlns:jpa=&http://www.springframework.org/schema/data/jpa&
&&&&&&&xmlns:tx=&http://www.springframework.org/schema/tx&
&&&&&&&xsi:schemaLocation=&http://www.springframework.org/schema/beans&http://www.springframework.org/schema/beans/spring-beans.xsd
&&&&&&&http://www.springframework.org/schema/context&http://www.springframework.org/schema/context/spring-context.xsd
&&&&&&&http://www.springframework.org/schema/mvc&http://www.springframework.org/schema/mvc/spring-mvc.xsd
&&&&&&&http://www.springframework.org/schema/data/jpa&http://www.springframework.org/schema/data/jpa/spring-jpa.xsd&
&&&&&&&http://www.springframework.org/schema/tx&http://www.springframework.org/schema/tx/spring-tx.xsd&&
&&&&&base-package=&com.gaussic.controller&/&
&&&&&id=&jspViewResolver&&class=&org.springframework.web.servlet.view.InternalResourceViewResolver&&
&&&&&&&&&name=&viewClass&&value=&org.springframework.web.servlet.view.JstlView&/&
&&&&&&&&&name=&prefix&&value=&/WEB-INF/pages/&/&
&&&&&&&&&name=&suffix&&value=&.jsp&/&
&&&&&base-package=&com.gaussic.repository&/&
&&&&&id=&entityManagerFactory&&class=&org.springframework.orm.jpa.LocalEntityManagerFactoryBean&&
&&&&&&&&&name=&persistenceUnitName&&value=&defaultPersistenceUnit&/&
&&&&&id=&transactionManager&&class=&org.springframework.orm.jpa.JpaTransactionManager&&
&&&&&&&&&name=&entityManagerFactory&&ref=&entityManagerFactory&/&
&&&&&transaction-manager=&transactionManager&/&
&&&&下面,填充persistence.xml,将persistence-unit的name改为 defaultPersistenceUnit。在下面的文件中,我添加了一些更为详细的配置:
&?xml&version=&1.0&&encoding=&UTF-8&?&
&xmlns=&/xml/ns/persistence&&version=&2.0&&
&&&&&name=&defaultPersistenceUnit&&&transaction-type=&RESOURCE_LOCAL&&
&&&&&&&&&org.hibernate.ejb.HibernatePersistence&
&&&&&&&&&&&&
&&&&&&&&&&&&&name=&hibernate.dialect&&value=&org.hibernate.dialect.MySQL5Dialect&/&
&&&&&&&&&&&&
&&&&&&&&&&&&&name=&hibernate.connection.url&
&&&&&&&&&&&&&&&&&&&&&&value=&jdbc:mysql://localhost:3306/springdemo&/&
&&&&&&&&&&&&
&&&&&&&&&&&&&name=&hibernate.connection.driver_class&&value=&com.mysql.jdbc.Driver&/&
&&&&&&&&&&&&
&&&&&&&&&&&&&name=&hibernate.connection.username&&value=&root&/&
&&&&&&&&&&&&
&&&&&&&&&&&&&name=&hibernate.connection.password&&value=&111111&/&
&&&&&&&&&&&&
&&&&&&&&&&&&&name=&hibernate.show_sql&&value=&true&/&
&&&&&&&&&&&&&name=&hibernate.connection.useUnicode&&value=&true&/&
&&&&&&&&&&&&&name=&hibernate.connection.characterEncoding&&value=&UTF-8&/&
&&&&&&&&&&&&
&&&&&&&&&&&&&name=&hibernate.format_sql&&value=&true&/&
&&&&&&&&&&&&&name=&hibernate.use_sql_comments&&value=&false&/&
&&&&&&&&&&&&
&&&&&&&&&&&&&name=&hibernate.hbm2ddl.auto&&value=&update&/&
&&&&&&&&&&&&
&&&&&&&&&&&&&name=&hibernate.connection.autoReconnect&&value=&true&/&
&&&&&&&&&&&&&name=&connection.autoReconnectForPools&&value=&true&/&
&&&&&&&&&&&&&name=&connection.is-connection-validation-required&&value=&true&/&
&&&&现在,重新启动tomcat,如果没有报错,说明数据库已经配置完成了,接下来就要讲解数据库的相关开发工作。
& & & 阅读评论发现许多同学的persistence.xml出现了问题,因为出现问题的原因可能有很多,如果没有完全的报错以及代码的话,我这边很难解决问题,一个办法就是在上面提问并贴出代码,我这边尽量解答。另一个办法就是下载最新的代码运行看有没有什么问题。
& & & &最后一个办法,尝试另外一种配置方法,无需persistence.xml,直接在mvc-dispatcher-servlet.xml中配置数据库,如下所示:
id=&entityManagerFactory& class=&org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean&&
name=&persistenceUnitName& value=&defaultPersistenceUnit&/&
name=&packagesToScan& value=&com.gaussic.model& /&
name=&jpaVendorAdapter&&
class=&org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter&/&
name=&jpaProperties&&
key=&hibernate.connection.driver_class&&com.mysql.jdbc.Driver&
key=&hibernate.connection.url&&jdbc:mysql://localhost:3306/springdemo?useSSL=false&
key=&hibernate.connection.username&&root&
key=&hibernate.connection.password&&111111&
key=&hibernate.show_sql&&false&
key=&hibernate.connection.useUnicode&&true&
key=&hibernate.connection.characterEncoding&&UTF-8&
key=&hibernate.format_sql&&true&
key=&hibernate.use_sql_comments&&true&
key=&hibernate.hbm2ddl.auto&&update&
key=&hibernate.connection.autoReconnect&&true&
key=&hibernate.dialect&&org.hibernate.dialect.MySQL5Dialect&
key=&connection.autoReconnectForPools&&true&
key=&connection.is-connection-validation-required&&true&
key=&hibernate.c3p0.validate&&true&
key=&hibernate.connection.provider_class&&org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider&
key=&hibernate.c3p0.min_size&&5&
key=&hibernate.c3p0.max_size&&600&
key=&hibernate.c3p0.timeout&&1800&
key=&hibernate.c3p0.max_statements&&50&
key=&hibernate.c3p0.preferredTestQuery&&SELECT 1;&
key=&hibernate.c3p0.testConnectionOnCheckout&&true&
key=&hibernate.c3p0.idle_test_period&&3000&
& & & & & 删除persistence.xml,直接修改entityManagerFactory bean为如上图所示。这个方法可以摆脱persistence.xml的困扰,但是有一个小小的问题,如果之前没有添加Java EE Persistence这个框架的,文中的Persistence工具栏将不会显示。一个解决办法就是,先修改mvc-dispatcher-servlet,然后再添加Java EE Persistence框架,等能够看到Persistence工具栏后,删除persistence.xml,余下的步骤可以继续操作。
& & & & 转载请注明出处:)。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
(26)(47)(51)(17)(65)(21)(10)(25)(52)(15)(10)(5)(14)(8)(14)(70)(44)(32)(98)(119)(15)}

我要回帖

更多关于 ibm 数据库服务器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信