数据库
|
hibernate方言
|
DB2 |
org.hibernate.dialect.DB2Dialect |
DB2 AS/400 |
org.hibernate.dialect.DB2400Dialect |
DB2 OS390 |
org.hibernate.dialect.DB2390Dialect |
PostgreSQL |
org.hibernate.dialect.PostgreSQLDialect |
MySQL |
org.hibernate.dialect.MySQLDialect |
MySQL with InnoDB |
org.hibernate.dialect.MySQLInnoDBDialect |
MySQL with MyISAM |
org.hibernate.dialect.MySQLMyISAMDialect |
Oracle (any version) |
org.hibernate.dialect.OracleDialect |
Oracle 9i/10g |
org.hibernate.dialect.Oracle9Dialect |
Sybase |
org.hibernate.dialect.SybaseDialect |
Sybase Anywhere |
org.hibernate.dialect.SybaseAnywhereDialect |
Microsoft SQL Server |
org.hibernate.dialect.SQLServerDialect |
SAP DB |
org.hibernate.dialect.SAPDBDialect |
Informix |
org.hibernate.dialect.InformixDialect |
HypersonicSQL |
org.hibernate.dialect.HSQLDialect |
Ingres |
org.hibernate.dialect.IngresDialect |
Progress |
org.hibernate.dialect.ProgressDialect |
Mckoi SQL |
org.hibernate.dialect.MckoiDialect |
Interbase |
org.hibernate.dialect.InterbaseDialect |
Pointbase |
org.hibernate.dialect.PointbaseDialect |
FrontBase |
org.hibernate.dialect.FrontbaseDialect |
Firebird |
org.hibernate.dialect.FirebirdDialect |
<?xml version="1.0" encoding="GBK"?>
<!-- 指定Spring配置文件的Schema信息 -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
<!-- 定义数据源Bean,使用C3P0数据源实现 -->
<bean id="dataSource" destroy-method="close"
class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 指定连接数据库的驱动 -->
<!-- 指定连接数据库的URL -->
<!-- 指定连接数据库的用户名 -->
<!-- 指定连接数据库的密码 -->
<!-- 指定连接数据库连接池的最大连接数 -->
<!-- 指定连接数据库连接池的最小连接数 -->
<!-- 指定连接数据库连接池的初始化连接数 -->
<!-- 指定连接数据库连接池的连接的最大空闲时间 -->
<!-- 连mysql
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl"
value="jdbc:mysql://localhost:3306/auction"/>
<property name="user" value="root"/>
<property name="password" value="32147"/>
<property name="maxPoolSize" value="40"/>
<property name="minPoolSize" value="1"/>
<property name="initialPoolSize" value="1"/>
<property name="maxIdleTime" value="20"/>
-->
<!--连MS-SQL-->
<property name="driverClassName"
value="net.sourceforge.jtds.jdbc.Driver"></property> <property
name="url"
value="jdbc:jtds:sqlserver://10.11.68.28:1433;DatabaseName=txDB"></property>
<property name="username" value="sa"></property>
<property name="password" value="sa"></property>
<!-- 连 Oracle -->
<!--
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="url" value="jdbc:oracle:thin:@192.168.1.100:1521:orcl"></property>
<property name="username" value="sa"></property>
<property name="password" value="sa"></property>
<property name="maxActive" value="100"></property>
<property name="maxIdle" value="30"></property>
<property name="maxWait" value="500"></property>
<property name="defaultAutoCommit" value="true"></property>
-->
</bean>
<!-- 定义Hibernate的SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 依赖注入数据源,注入上面定义的dataSource -->
<property name="dataSource" ref="dataSource"/>
<!-- mappingResouces属性用来列出全部映射文件 -->
<property name="mappingResources">
<list>
<!-- 以下用来列出Hibernate映射文件 -->
<value>org/test/model/User.hbm.xml</value>
<value>org/test/model/Book.hbm.xml</value>
</list>
</property>
<!-- 定义Hibernate的SessionFactory的属性 -->
<property name="hibernateProperties">
<props>
<!-- 指定数据库方言 -->
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<!--
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLInnoDBDialect</prop>
-->
<!-- 是否根据需要每次自动创建数据库 -->
<prop key="hibernate.hbm2ddl.auto">update</prop>
<!-- 显示Hibernate持久化操作所生成的SQL -->
<prop key="hibernate.show_sql">true</prop>
<!-- 将SQL脚本进行格式化后再输出 -->
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
<!-- 配置Hibernate的局部事务管理器,使用HibernateTransactionManager类 -->
<!-- 该类实现PlatformTransactionManager接口,是针对Hibernate的特定实现-->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<!-- 配置HibernateTransactionManager时需要依注入SessionFactory的引用 -->
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 配置事务切面Bean,指定事务管理器 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<!-- 用于配置详细的事务语义 -->
<tx:attributes>
<!-- 所有以'get'开头的方法是read-only的 -->
<tx:method name="get*" read-only="true"/>
<!-- 其他方法使用默认的事务设置 -->
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<aop:config>
<!-- 配置一个切入点,匹配指定包下所有以Impl结尾的类执行的所有方法 -->
<aop:pointcut id="leeService"
expression="execution(* org.crazyjava.auction.service.impl.*Impl.*(..))"/>
<!-- 指定在leeService切入点应用txAdvice事务切面 -->
<aop:advisor advice-ref="txAdvice"
pointcut-ref="leeService"/>
</aop:config>
<!-- 定义JavaMailSenderImpl,它用于发送邮件 -->
<bean id="mailSender"
class="org.springframework.mail.javamail.JavaMailSenderImpl">
<!-- 指定发送邮件的SMTP服务器地址 -->
<property name="host" value="smtp.163.com"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
<!-- 指定登录邮箱的用户名、密码 -->
<property name="username" value="spring_test"/>
<property name="password" value="123abc"/>
</bean>
<!-- 定义SimpleMailMessage Bean,它代表了一份邮件 -->
<bean id="mailMessage"
class="org.springframework.mail.SimpleMailMessage">
<property name="from" value="spring_test@163.com"/>
<!-- 指定邮件标题 -->
<property name="subject" value="竞价通知"/>
</bean>
<!-- 配置业务逻辑组件 -->
<bean id="mgr"
class="org.crazyjava.auction.service.impl.AuctionManagerImpl">
<!-- 为业务逻辑组件注入所需的DAO组件 -->
<property name="userDao" ref="auctionUserDao"/>
<property name="bidDao" ref="bidDao"/>
<property name="itemDao" ref="itemDao"/>
<property name="kindDao" ref="kindDao"/>
<property name="stateDao" ref="stateDao"/>
<property name="mailSender" ref="mailSender"/>
<property name="message" ref="mailMessage"/>
</bean>
<!-- 配置一个TimerTask Bean -->
<bean id="checkWiner" class="org.crazyjava.auction.schedule.CheckWiner">
<!-- 依赖注入业务逻辑组件 -->
<property name="mgr" ref="mgr"/>
</bean>
<!-- 将TimerTask Bean:checkWiner包装成可周期性执行的任务调度Bean -->
<bean id="scheduledTask"
class="org.springframework.scheduling.timer.ScheduledTimerTask">
<!-- 指定调度频率和延迟 -->
<property name="delay" value="0"/>
<property name="period" value="86400000"/>
<property name="timerTask" ref="checkWiner"/>
</bean>
<!-- 启动实际调度 -->
<bean id="timerFactory"
class="org.springframework.scheduling.timer.TimerFactoryBean">
<!-- 下面列出所有需要调用的任务调度Bean -->
<property name="scheduledTimerTasks">
<list>
<ref bean="scheduledTask"/>
</list>
</property>
</bean>
</beans>
分享到:
相关推荐
tomcat连接池: context.xml配置: auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url=" jdbc:oracle:thin:@host:port:databse" username=" user " ...
总的来说,选择合适的连接池并正确配置,可以显著提升Hibernate应用程序的数据库访问性能和稳定性。在实际开发中,应根据项目需求和环境条件,权衡性能、稳定性和易用性,选择最适合的连接池方案。同时,保持对官方...
4. SQL方言:`hibernate-dialect.jar` Hibernate支持多种数据库,每种数据库可能有不同的SQL语法。`hibernate-dialect.jar`包含不同数据库的方言类,使得Hibernate可以生成适合特定数据库的SQL语句。 5. 第三方库...
- **dialect**: Hibernate方言,用于生成特定数据库兼容的SQL。例如,MySQL的方言是`org.hibernate.dialect.MySQL5Dialect`,Oracle的是`org.hibernate.dialect.Oracle10gDialect`。 - **show_sql**: 控制是否打印...
- **hibernate.dialect**:指定使用的方言,不同数据库有不同的方言实现。 - **hibernate.show_sql**:是否在控制台显示 SQL 语句,默认为 false。 #### 五、高级配置技巧 为了进一步提升开发效率和优化性能,以下...
3. **方言(Dialect)**:指定数据库对应的Hibernate方言,确保SQL语句与数据库兼容。例如: ```xml <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect ``` 4. **缓存设置**:可以选择性...
在Java开发中,使用Hibernate作为持久层框架时,为了提高数据库操作的性能和资源利用率,通常会引入连接池技术。Proxool是Apache的一个开源项目,它提供了一个轻量级的数据库连接池实现。本篇将详细介绍如何在...
5. **dialect**: Hibernate方言,用于生成适应特定数据库的SQL语句,如`org.hibernate.dialect.MySQLDialect`。 ### 数据库连接池 为了提高性能,通常会使用数据库连接池,如C3P0、HikariCP或Apache DBCP。连接池...
### 使用Hibernate连接各种...此外,需要注意的是,在实际部署过程中还需要考虑诸如连接池设置等因素,以提高数据库访问效率并避免资源浪费。希望本文能够帮助大家更好地理解和掌握Hibernate与数据库之间的交互方式。
在实践中,`hibernate.cfg.xml`的完整配置会根据项目需求进行调整,包括数据库连接池的配置、实体类的映射以及缓存策略等。了解并熟练掌握这些配置对于高效地使用Hibernate至关重要。 压缩包中的`0000.sql`可能是...
在这个文档中,我们看到的配置涉及到了数据库连接、方言设置、SQL日志、连接池以及缓存策略等关键点。 1. **数据库连接配置**: - `hibernate.connection.driver_class`:指定JDBC驱动类,这里是`...
- `hibernate.dialect`:指定对应数据库的方言,如`org.hibernate.dialect.PostgreSQLDialect`,以便Hibernate生成最优的SQL。 - `hibernate.show_sql`:如果设为`true`,Hibernate会在控制台输出所有执行的SQL...
这个文件主要负责定义数据源、连接池、SQL方言、日志以及实体类映射等关键设置。本文将深入探讨其中的数据源配置与c3p0连接池的使用。 一、数据源配置 在Hibernate.cfg.xml中,数据源的配置分为两种方式:JDBC直连...
在Java应用程序中,与各种类型的数据库进行交互是常见的需求。为了实现这种交互,我们需要...同时,为了提高安全性,推荐使用连接池(如HikariCP、C3P0或Apache DBCP)来管理数据库连接,以减少资源消耗并提高性能。
总结,配置 Hibernate 主要涉及数据库连接、方言选择、连接池以及映射文件的管理。根据实际需求和环境,选择合适的配置文件格式和连接池策略是至关重要的。正确配置 Hibernate 能确保与数据库交互的高效性和稳定性。
方言配置是Hibernate与不同类型的数据库进行交互的基础,它决定了Hibernate如何生成特定于数据库的SQL语句: 1. **`hibernate.dialect`**:指定Hibernate使用的方言类型,如PostgreSQL方言。 - 示例: ```...
Hibernate 框架是 Java...总的来说,Hibernate 的配置涉及到多个方面,包括映射文件、数据库连接、方言选择和连接池管理。通过灵活配置,开发者可以根据项目需求定制 Hibernate 的行为,从而实现高效的数据持久化操作。
Hibernate使用方言来与特定数据库进行交互,如`org.hibernate.dialect.MySQL5Dialect`对应MySQL,`org.hibernate.dialect.PostgreSQL95Dialect`对应PostgreSQL。 6. **JTA事务管理** - `transaction.factory_...
这个配置项指定了Hibernate使用的数据库方言,以生成符合特定数据库的SQL语句。 #### 三、其他核心配置 此外,还有许多其他的配置项可以帮助优化Hibernate的性能或定制其行为,如: 1. **`hibernate.dialect`**:...