hibernate配置和JDBC连接池
<?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">
这是hiberante.cfg.xml的头文件,固定形式,否则无法解析
----------------------------------------------------------------------------------------------------------------------------------
</hibernate-configuration>
</session-factory>
配置信息
</session-factory>
</hibernate-configuration>
----------------------------------------------------------------------------------------------------------------------------------
JDBC配置项目
数据库用户名:<property name="connection.username">sa</property>
数据库密码:<property name="connection.password">sa123!</property>
连接字符串:<property name="connection.url">jdbc:jtds:sqlserver://localhost:1433/tjp_db</property>
驱动类:<property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
数据库方言:<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
数据库名称:<property name="myeclipse.connection.profile">tjp_db</property>
<property name="hibernate.session_factory_name">tjp_db</property>
----------------------------------------------------------------------------------------------------------------------------------
常用配置
<!-- 设置数据库名 当url没有指定数据库时设置 --> <!-- <property name="default_catalog">orcl</property>--> <!--输出所有SQL语句到控制台 --> <property name="hibernate.show_sql" >true</property> <!--在log和console中打印出更漂亮的SQL。 --> <property name="hibernate.format_sql">true</property> <!-- 配置自动更新表结构(只能添加列,不能删除) --> <property name="hibernate.hbm2ddl.auto">none</property> <!-- 启用查询缓存 --> <property name="hibernate.cache.use_query_cache">false</property> <!-- JavaBean 的xml--> <mapping resource="路径(Class.hbm.xml)" />
----------------------------------------------------------------------------------------------------------------------------------
JDBC连接池
在Tomcat中配置数据源
位置:conf/content.xml
<?xml version='1.0' encoding='utf-8'?> <Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- <Resource name="BigMagnate" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/mydb"/> --> </Context>
连接池
/** * 获取数据库连接 * * @throws ClassNotFoundException * @throws SQLException */ public static Connection getConnection() throws ClassNotFoundException, SQLException { DataSource ds = null; try { Context ctx = new InitialContext(); ds = (DataSource) ctx.lookup("java:comp/env/bookSystem"); conn = ds.getConnection(); } catch (NamingException e) { System.out.println(e.getMessage()); } return conn; }
连接池和数据源的区别 (来源:http://blog.csdn.net/indieinside/article/details/40790231)
而我个人认为这两者有不同的:
(1)数据源是一种数据库对编程提供的一个接口,每个数据源对应一个数据库。
(2)连接池只是存放数据库连接对象的一个缓冲池,需要数据连接的时候从缓冲池中取就行了。
(3)连接池可以管理数据源。
用TCP来连接你的应用程序与数据库是一件昂贵的事情(很费时的事情),开发者可以通过用连接池来反复的使用数据库的连接。比起每次请求都用TCP来连一次数据库,连接池只有在不存在有效的连接时才新建一个TCP连接。当关闭一个连接的时候,它会被放到池中,它仍然会保持与数据库的连接,这样就可以减少与数据库的TCP连接次数。
数据源是指数据的来源,比如数据库。连接池是指这样一个“池子”,池子中的每个东西都是连接数据源的一个“连接”,这样别人想连接数据源的时候可以从这个“池子”里取,用完以后再放回来供以后其他想使用的人使用。
我们一般说的数据源指的就是数据库~
数据源是指数据的来源的概括,包含了数据库位置 和 数据库类型等信息,实际上是一种数据连接的抽象。
也可以说,你要得到的信息存放的地方的概括(包括 存放信息的数据库类型、数据库的地址等等信息的概括)。
连接池是指这样的一个“池子”:
该池子中的每个东西都是连接数据源的一个“连接”,
这样别人想连接数据源的时候可以从这个“池子”里取,
用完以后再放回来供以后其他想使用的人使用。
我们一般说的数据源指的就是数据库~
比较形象点的说,连接池就像数据源的代理人,
如我们需要连接(connection)直接找他(连接池)要就可以了,不需要找数据源要;
不用的连接也是直接还给连接池~~
也就是有了连接池,我们没必要直接找数据源打交道了~
连接池在你的程序所在的机器内存,数据源不一定~~
并且数据源和连接池会保持一定数量的连接~
这样我们访问数据库的时候就不需要找数据源要连接,
直接在本地内存中取得连接,可以提高程序的性能~~
上说的都那么抽象,让我用我的自身理解方式说给你
每个连接好比水站的分水管,连接池好比水站,水站的源头好比数据库。
连接池可以控制分水管的数量等其他行为。
- 汇总 Hibernate 与 jdbc,jndi+dbcp, proxool ,c3p0 连接池的配置
- maven常见开发配置spring,hibernate,structs,jdbc,log4j,mybatis
- c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包
- spring+hibernate的c3p0 连接池配置 转
- Hibernate 连接池配置(C3PO and proxool)
- spring配置jdbc与hibernate数据源
- hibernate连接池配置
- 配置hibernate:org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch updat
- Hibernate Proxool连接池配置总结及常遇问题
- DBCP,CP30及proxool连接池在spring+hibernate中的配置 用spring默认的连接池性能效率不高, 如果数据库重启, 应用程序也要重启才能使用, 这样比较麻烦, 下面介绍三
- Hibernate配置c3p0连接池
- spring 同时配置hibernate and jdbc 事务
- 配置Hibernate连接池
- 自己写的项目开发框架(2)--从spring配置hibernate和jdbc开始
- Hibernate3连接池配置
- c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包
- Hibernate连接池配置
- 编码问题 关于hibernate jdbc数据库连接在xml配置与在properties文件配置的差异
- hibernate.cfg.xml位置及JDBC配置
- Spring中JdbcTemplate结合连接池(c3p0、dbcp、JdbcDateSupport)及配置properties