jpa动态创建EntityManagerFactory 态设置数据库连接 EntityManager;


//jpa动态创建EntityManagerFactory 态设置数据库连接EntityManager;createEntityManagerFactory(String persistenceUnitName, Map properties)方法中properties的参数将覆盖persistence.xml文件配置的参数。
Map<String, String> properties = new HashMap<String, String>();
properties.put("hibernate.connection.url","jdbc:sqlserver://localhost;DatabaseName=test");
properties.put("hibernate.connection.username","sa");
properties.put("hibernate.connection.password","1234");
EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpaper", properties);
EntityManager em=emf.createEntityManager();

======persistence.xml=============================
<?xml version="1.0" encoding="UTF-8"?>

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
 version="1.0">

 <!--定义持久单元 -->
 <persistence-unit name="jpaper"
  transaction-type="RESOURCE_LOCAL">
  <!--这里采用Hibernate提供的持久化类 -->
  <provider>org.hibernate.ejb.HibernatePersistence</provider>
  <!--定义持久化属性 -->
  <properties>
   <!--定义方言、fetch深度、是否显示sql -->
   <property name="hibernate.dialect" value="org.hibernate.dialect.SybaseDialect" />
   <property name="hibernate.max_fetch_depth" value="3" />
   <property name="hibernate.show_sql" value="true" />
   <!--定义是否自动生成表,create表示每次加载都重新生成,update表示每次加载只是更新表 -->
   <!-- <property name="hibernate.hbm2ddl.auto" value="update" /> -->
   <!--定义数据库连接的相关属性 -->
   <property name="hibernate.connection.driver_class"
    value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
   <property name="hibernate.connection.url"
    value="jdbc:sqlserver://192.168.1.181;DatabaseName=smartbusiness" />
   <!--定义数据库连接的用户名、密码等 -->
   <property name="hibernate.connection.username" value="sa" />
   <property name="hibernate.connection.password" value="1.0" />
  </properties>
 </persistence-unit>
</persistence>

转载于:https://www.cnblogs.com/qgc88/p/3467227.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值