EJB 创建连接到执行SQL过程

1 在项目source folder下,创建persistent.xml文件.

Project Name

                --| src

                         --|persistence.xml

2 编写persistent.xml文件,内容符合如下格式.

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
	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">
	<persistence-unit name="CICI_PERSISTENCE_UNIT" transaction-type="RESOURCE_LOCAL">
		<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
		<class>com.cici.crm.migration.model.crm.CrmCardInstance</class>
		<class>com.cici.crm.migration.model.crm.CrmApplicationInstance</class>
 <properties>
			<property name="eclipselink.jdbc.native-sql" value="true"/>
			<property name="eclipselink.jdbc.batch-writing" value="JDBC"/>
			<property name="eclipselink.logging.level" value="OFF"/>
			<property name="eclipselink.target-database" value="Oracle" /> 
			<property name="eclipselink.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:CICIDB" />
			<property name="eclipselink.jdbc.driver" value="oracle.jdbc.driver.OracleDriver" />
			<property name="eclipselink.jdbc.user" value="ADMCICI" />
			<property name="eclipselink.jdbc.password" value="ADMCICI" />
			<property name="eclipselink.ddl-generation" value="none" />
		</properties>
	</persistence-unit>
	
</persistence>

 

3 创建包含DB创建连接参数的Map

Map<String,String> properties = new HashMap<String,String>();
properties.put
("eclipselink.jdbc.user", Configuration.getInstance ().getValue (Configuration.OTAM_DATABASE_USERNAME));
 properties.put      
("eclipselink.jdbc.password",Configuration.getInstance().getValue(Configuration.OTAM_DATABASE_PASSWORD));                                                                                                                                                                                                                    

4 创建EntityManagerFactory

EntityManagerFactory 
rcaFactory = Persistence.createEntityManagerFactory(CICI_PERSISTENCE_UNIT, properties);

5 创建 EntityManager

  

EntityManager entityManager = rcaFactory.createEntityManager ();

6 创建 EntityTransaction 并开启连接

  

entityManager.getTransaction().begin();

7 创建Query并执行sql语句

Query query = entityManager.createNamedQuery(sql);
query.executeUpdate ();

8 提交事务

 

entityManager.getTransaction ().commit ();

 

9 关闭连接

 

entityManger.close();
 ciciFactory.close();

 

posted @ 2012-11-24 15:12  王超_cc  阅读(479)  评论(0编辑  收藏  举报