• Hibernate


    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
            <!-- 连接数据库的基本信息 -->
            <property name="connection.username">root</property>
            <property name="connection.password">xxxx</property>
            <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="connection.url">jdbc:mysql://192.168.31.222:3306/lhf</property>
    
    
            <!-- 配置hibernate的数据库方言 -->
            <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
    
            <!-- 是否在控制台打印sql -->
            <property name="show_sql">true</property>
            <!-- 是否在对sql进行格式化 -->
            <property name="format_sql">true</property>
            <!-- 指定程序运行时是否在数据库自动生成数据表 -->
            <property name="hbm2ddl.auto">update</property>
            <!-- 设置事务的隔离级别 -->
            <property name="hibernate.connection.isolation">2</property>
    
            <!-- 配置c3p0数据源 -->
            <property name="hibernate.c3p0.max_size">10</property>
            <property name="hibernate.c3p0.min_size">5</property>
            <property name="c3p0.acquire_increment">2</property>
            
            <property name="c3p0.idle_test_period">2000</property>
            <property name="c3p0.timeout">2000</property>
            
            <property name="c3p0.max_statements">10</property>
    
            <!-- 指定关联的映射文件 -->
            <mapping resource="com/hibernate/test/News.hbm.xml" />
    
        </session-factory>
    </hibernate-configuration>

    在配置的时候发现得到的connection是原生JDBC的,分析后发现引入的层c3p0 jar与当前的Hibernate版本不协调,在hibernate-release-5.1.13.Finalliboptionalc3p0下面找到与之匹配的包后重新引入,获得c3p0的 包装Connection。

    如果在session中获得Connection?

    @Test
        public void testDoWork() {
            session.doWork(new Work() {
    
                @Override
                public void execute(Connection connection) throws SQLException {
                    System.out.println(connection);
                }
            });
        }
  • 相关阅读:
    4 种高可用 RocketMQ 集群搭建方案!
    Spring @Autowired 注解自动注入流程是怎么样?
    AQS 自定义同步锁,挺难的!
    PyCharm爬虫实例:使用Scrapy抓取网页特定内容、数据采集与数据预处理--biaobiao88
    Ubuntu中安装Hadoop出现的问题
    Win10系统FF新推荐弹窗的卸载方法
    Sublime Text 中文乱码(解决)
    JProfiler的安装
    稀疏数组
    算法基础<一>
  • 原文地址:https://www.cnblogs.com/pjlhf/p/8728249.html
Copyright © 2020-2023  润新知