配置mybatis.xml或hibernate.cfg.xml报错:

        <property name="connection.url">jdbc:mysql://localhost:3306/hibernate?characterEncoding=UTF-8&autoReconnect=true</property>
The reference to entity "autoReconnect" must end with the ';' delimiter.

这里“characterEncoding”是配置url属性的最后一个参数,因为xml文件识别不了“&”符号,因此需要在其后面添加“amp;”

解决方法:在每个“&”附号后面添加“amp;”

更改后的情况:

        <property name="connection.url">jdbc:mysql://localhost:3306/hibernate?characterEncoding=UTF-8&amp;autoReconnect=true</property>

类似的,在xml文件中有以下几类字符要进行转义替换:

&lt;

<

小于号

&gt;

>

大于号

&amp;

&

&apos;

'

单引号

&quot;

"

双引号

 

Hibernate的配置文件解析

<!--标准的XML文件的起始行,version='1.0'表明XML的版本,encoding='gb2312'表明XML文件的编码方式-->
<?xml version='1.0' encoding='gb2312'?>
<!--表明解析本XML文件的DTD文档位置,DTD是Document Type Definition 的缩写,即文档类型的定义,XML解析器使用DTD文档来检查XML文件的合法性。
  hibernate.sourceforge.net/hibernate-configuration-3.0dtd可以在Hibernate3.1.3软件包中的src\org\hibernate目录中找到此文件-->
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!--声明Hibernate配置文件的开始-->
<hibernate-configuration>
  <!--表明以下的配置是针对session-factory配置的,SessionFactory是Hibernate中的一个类,
      这个类主要负责保存HIbernate的配置信息,以及对Session的操作-->
<session-factory>
   <!--配置数据库的驱动程序,Hibernate在连接数据库时,需要用到数据库的驱动程序-->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver </property>
   <!--设置数据库的连接url:jdbc:mysql://localhost/hibernate,其中localhost表示mysql服务器名称,此处为本机, hibernate是数据库名-->
<property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate</hibernate>
    <!--连接数据库是用户名-->
<property name="hibernate.connection.username">root</property>
<!--连接数据库是密码-->
<property name="hibernate.connection.password">123456 </property>

<!--数据库连接池的大小-->
<property name="hibernate.connection.pool.size">20 </property>

<!--是否在后台显示Hibernate用到的SQL语句,开发时设置为true,便于查错,程序运行时可以在Eclipse的控制台显示Hibernate的执行Sql语句。
         项目部署后可以设置为false,提高运行效率-->
  <property name="hibernate.show_sql">true </property>
<!--jdbc.fetch_size是指Hibernate每次从数据库中取出并放到JDBC的Statement中的记录条数。Fetch Size设的越大,读数据库的次数越少,速度越快,
       Fetch Size越小,读数据库的次数越多,速度越慢-->
<property name="jdbc.fetch_size">50 </property>
<!--jdbc.batch_size是指Hibernate批量插入,删除和更新时每次操作的记录数。Batch Size越大,
       批量操作的向数据库发送Sql的次数越少,速度就越快,同样耗用内存就越大-->
<property name="jdbc.batch_size">23 </property>
<!--jdbc.use_scrollable_resultset是否允许Hibernate用JDBC的可滚动的结果集。对分页的结果集。对分页时的设置非常有帮助-->
<property name="jdbc.use_scrollable_resultset">false </property>
<!--connection.useUnicode 连接数据库时是否使用Unicode编码-->
<property name="Connection.useUnicode">true </property>
<!--connection.characterEncoding连接数据库时数据的传输字符集编码方式,最好设置为gbk,用gb2312有的字符不全-->
<property name="connection.characterEncoding">gbk </property> <!--hibernate.dialect 只是Hibernate使用的数据库方言,就是要用Hibernate连接那种类型的数据库服务器。-->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect </property>
<!--指定映射文件为“hibernate/ch1/UserInfo.hbm.xml”-->
<mapping resource="org/mxg/UserInfo.hbm.xml">
  </session-factory>
</hibernate-configuration> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <!-- 连接驱动 -->
   <property name="driverClassName" value="${jdbc.driverClassName}" />
   <!-- 连接url -->
<property name="url" value="${jdbc.url}" />
<!-- 连接用户名 -->
<property name="username" value="${jdbc.username}" />
<!-- 连接密码 -->
<property name="password" value="${jdbc.password}" />
</bean> <bean id="hbSessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <property name="configLocation">
     <!-- hibernate配置文件位置 -->
  <value>WEB-INF/hibernate.cfg.xml </value>
  </property>
  <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />
  <property name="hibernateProperties">
    <props>
      <!--针对oracle数据库的方言,特定的关系数据库生成优化的SQL -->
     <prop key="hibernate.dialect"> org.hibernate.dialect.OracleDialect </prop>
      <!--选择HQL解析器的实现 -->
     <prop key="hibernate.query.factory_class"> org.hibernate.hql.ast.ASTQueryTranslatorFactory </prop>
     <!-- 是否在控制台打印sql语句 -->
     <prop key="hibernate.show_sql">true </prop>
     <!-- 在Hibernate系统参数中hibernate.use_outer_join被打开的情况下,该参数用来允许使用outer join来载入此集合的数据。 -->
     <prop key="hibernate.use_outer_join">true </prop>
      <!-- 默认打开,启用cglib反射优化。cglib是用来在Hibernate中动态生成PO字节码的,打开优化可以加快字节码构造的速度 -->
      <prop key="hibernate.cglib.use_reflection_optimizer">true </prop>
      <!-- 输出格式化后的sql,更方便查看 -->
      <prop key="hibernate.format_sql">true </prop>
      <!-- “useUnicode”和“characterEncoding”决定了它是否在客户端和服务器端传输过程中进行Encode,以及如何进行Encode -->
      <prop key="hibernate.connection.useUnicode">true </prop>
      <!-- 允许查询缓存, 个别查询仍然需要被设置为可缓存的. -->
      <prop key="hibernate.cache.use_query_cache">false </prop>
      <prop key="hibernate.default_batch_fetch_size">16 </prop>
     <!--连接池的最大活动个数 -->
    <prop key="hibernate.dbcp.maxActive">100 </prop>
      <!-- 当连接池中的连接已经被耗尽的时候,DBCP将怎样处理(0 = 失败,1 = 等待,2 = 增长) -->
    <prop key="hibernate.dbcp.whenExhaustedAction">1 </prop>
    <!-- 最大等待时间 -->
    <prop key="hibernate.dbcp.maxWait">1200 </prop>
    <!-- 没有人用连接的时候,最大闲置的连接个数 -- >
     <prop key="hibernate.dbcp.maxIdle">10 </prop>
    <!-- 以下是对prepared statement的处理,同上。 -->
    <prop key="hibernate.dbcp.ps.maxActive">100 </prop>
    <prop key="hibernate.dbcp.ps.whenExhaustedAction">1 </prop>
    <prop key="hibernate.dbcp.ps.maxWait">1200 </prop>
    <prop key="hibernate.dbcp.ps.maxIdle">10 </prop>
    </props>
   </property>
  </bean>
以上参考http://www.cnblogs.com/pepcod/archive/2013/02/19/2917376.html
下面是Myeclipse中自己的hibernate.cfg.xml

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>

<session-factory>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.url">jdbc:mysql://192.168.0.121:3306/icloud?useUnicode=true&amp;characterEncoding=UTF-8</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="myeclipse.connection.profile">
com.mysql.jdbc.driver
</property>
<property name="show_sql">true</property>
<mapping resource="com/xidian/Entity/College.hbm.xml" />

<mapping resource="com/xidian/Entity/Ptocr.hbm.xml" />
<mapping resource="com/xidian/Entity/Kvm.hbm.xml" />
<mapping resource="com/xidian/Entity/Stuclass.hbm.xml" />
<mapping resource="com/xidian/Entity/Teacher.hbm.xml" />
<mapping
resource="com/xidian/Entity/Softwaretotemplate.hbm.xml" />
<mapping resource="com/xidian/Entity/Student.hbm.xml" />
<mapping resource="com/xidian/Entity/Ptoc.hbm.xml" />
<mapping resource="com/xidian/Entity/Subject.hbm.xml" />
<mapping resource="com/xidian/Entity/Classroom.hbm.xml" />
<mapping resource="com/xidian/Entity/Admin.hbm.xml" />
<mapping resource="com/xidian/Entity/Ptotem.hbm.xml" />
<mapping resource="com/xidian/Entity/Software.hbm.xml" />
<mapping resource="com/xidian/Entity/Plan.hbm.xml" />
<mapping resource="com/xidian/Entity/Ptot.hbm.xml" />
<mapping resource="com/xidian/Entity/Softwaretype.hbm.xml" />
<mapping resource="com/xidian/Entity/Time.hbm.xml" />
<mapping resource="com/xidian/Entity/Template.hbm.xml" />

</session-factory>

</hibernate-configuration>

以上前半部分也已用来解析自己的配置文件

Hibernate的配置文件解析的更多相关文章

  1. eclipse 新建 maven 项目 添加 spring hibernate 的配置文件 详情

    主要配置文件 pom.xml 项目的maven 配置文件 管理项目所需 jar 依赖支持 web.xml 项目的总 配置文件  :添加 spring和hibernate 支持 applicationC ...

  2. Hibernate常用配置文件详解

    本文转载自:http://blog.csdn.net/csh624366188/article/details/7578939 初学hibernate的童鞋,刚开应该都有这种感觉,hibernate的 ...

  3. Hibernate之配置文件

    可持久化对象有以下三种状态: 临时状态(Transient):对象在保存进数据库之前为临时状态,这时数据库中没有该对象的信息,如果没有持久化,程序退出后临时状态的对象信息将会丢失.随时可能被垃圾回收器 ...

  4. spring(一)--spring/springmvc/spring+hibernate(mybatis)配置文件

    这篇文章用来总结一下spring,springmvc,spring+mybatis,spring+hibernate的配置文件 1.web.xml 要使用spring,必须在web.xml中定义分发器 ...

  5. Hibernate 3 深度解析--苏春波

    Hibernate 3 深度解析   Hibernate 作为 Java ORM 模式的优秀开源实现, 当下已经成为一种标准,为饱受 JDBC 折磨的 Java 开发者带来了“福音.快速的版本更新,想 ...

  6. 2.一起来学hibernate之配置文件1与持久化对象

    学框架,配置都是不可少的,有了配置,框架才知道我们想做什么,才知道如何去执行我们需要的操作! hibernate的配置文件,总体来说分为两个部分: 1.主配置文件hibernate.cfg.xml文件 ...

  7. MyBatis配置文件解析

    MyBatis配置文件解析(概要) 1.configuration:根元素 1.1 properties:定义配置外在化 1.2 settings:一些全局性的配置 1.3 typeAliases:为 ...

  8. Nginx安装与配置文件解析

    导读 Nginx是一款开放源代码的高性能HTTP服务器和反向代理服务器,同时支持IMAP/POP3代理服务,是一款自由的软件,同时也是运维工程师必会的一种服务器,下面我就简单的说一下Nginx服务器的 ...

  9. Hadoop配置文件解析

    Hadoop源码解析 2 --- Hadoop配置文件解析 1 Hadoop Configuration简介    Hadoop没有使用java.util.Properties管理配置文件, 也没有使 ...

随机推荐

  1. Careercup - Google面试题 - 5424071030341632

    2014-05-08 22:55 题目链接 原题: Given a list of strings. Produce a list of the longest common suffixes. If ...

  2. 【Search Insert Position 】cpp

    题目: Given a sorted array and a target value, return the index if the target is found. If not, return ...

  3. 工作点滴积累(1)---MD5和编码

    今天同事忽然问了一个问题,他发现同一个字符,比如"电影",用项目中的md5工具类生成的hash值和网上提供的在线MD5生成的hash值有时不一样,在只包含了字母字符串中,生成的ha ...

  4. sqlserver2008r2 127.0.0.1 用户sa登录失败 错误18456

    按照网上的所有方法都试过了,还是不行. 最后,将sa密码重新设置一下,解决问题.

  5. Installing Ruby 1.9.3 on Ubuntu 12.04 Precise Pengolin (without RVM)

    02 MAY, 2012 The new Ubuntu release has just rolled around and with it a slew of new packages. Perso ...

  6. yebis 和phyreengine的集成

    被虐了几个礼拜阿, 暗无天日阿,花样被虐阿 设置 backbuffer commandbuffer这种问题还在其次,和他们的support要phyreengine 的sample就可以了 虐我千百遍的 ...

  7. JAVA算法系列 冒泡排序

    java算法系列之排序 手写冒泡 冒泡算是最基础的一个排序算法,简单的可以理解为,每一趟都拿i与i+1进行比较,两个for循环,时间复杂度为 O(n^2),同时本例与选择排序进行了比较,选择排序又叫直 ...

  8. CSS预处理器实践之Sass、Less大比拼[转]

    什么是CSS预处理器? CSS可以让你做很多事情,但它毕竟是给浏览器认的东西,对开发者来说,Css缺乏很多特性,例如变量.常量以及一些编程语法,代码难易组织和维护.这时Css预处理器就应运而生了.Cs ...

  9. eclipse 自动 注释

    在使用Eclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的. 修改作者.日期注释格式:打开Windows->Preferences->Java->Co ...

  10. visual studio 2012 Github

    前言 一直以来都想使用Git来管理自己平时积累的小代码,就是除了工作之外的代码了.有时候自己搞个小代码,在公司写了,就要通过U盘或者网盘等等一系列工具进行Copy,然后回家才能继续在原来的基础上作业. ...