zoukankan      html  css  js  c++  java
  • spring jpa测试

    spring配置文件applicationContext.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd 
      http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd ">
    
    
        <bean id="entityManagerFactory"
            class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
            <property name="persistenceUnitName" value="SpringJpaPU" />
        </bean>
        <bean id="transactionManager"
            class="org.springframework.orm.jpa.JpaTransactionManager">
            <property name="entityManagerFactory"
                ref="entityManagerFactory" />
        </bean>
        <tx:annotation-driven transaction-manager="transactionManager" />
        <context:annotation-config></context:annotation-config>
        
        <bean id="personDao" class="org.pxw.dao.imple.PersonDaoImple">
            <property name="entityManagerFactory" ref="entityManagerFactory"></property>
        </bean>
        <bean id="personService" class="org.pxw.service.imple.PersonServiceImple"></bean>
        
        </beans>
        

    jpa的数据源配置persistence.xml用eclipse自动生成会在src下创建一个META-INF文件下:

    <?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="SpringJpaPU"
            transaction-type="RESOURCE_LOCAL">
            <provider>org.hibernate.ejb.HibernatePersistence</provider>
            <class>org.pxw.entity.Person</class>
            <properties>
                <property name="hibernate.connection.driver_class"
                    value="oracle.jdbc.driver.OracleDriver" />
                <property name="hibernate.connection.url"
                    value="jdbc:oracle:thin:@localhost:1521:orcl" />
                <property name="hibernate.connection.username"
                    value="scott" />
                <property name="hibernate.connection.password"
                    value="tiger" />
                    
                    
                <property name="hibernate.show_sql" value="true" />
                <!-- 格式化显示的SQL -->
                <property name="hibernate.format_sql" value="true" />
                <property name="hibernate.hbm2ddl.auto" value="update" />
            </properties>
        </persistence-unit>
    
    </persistence>

    PersonDaoImple.java代码:

    import java.util.List;
    
    import org.pxw.dao.PersonDao;
    import org.pxw.entity.Person;
    import org.springframework.orm.jpa.support.JpaDaoSupport;
    
    public class PersonDaoImple extends JpaDaoSupport implements PersonDao {
    
        @Override
        public List<Person> findall() {
            return getJpaTemplate().find("select p from Person p");
            
        }
    
    }

    PersonService.java代码:

    import java.util.List;
    import javax.annotation.Resource;
    import org.pxw.dao.PersonDao;
    import org.pxw.entity.Person;
    import org.pxw.service.PersonService;
    import org.springframework.transaction.annotation.Propagation;
    import org.springframework.transaction.annotation.Transactional;
    
    @Transactional(propagation=Propagation.REQUIRED,readOnly=false)
    public class PersonServiceImple implements PersonService {
    
        @Resource(name="personDao")
        private PersonDao personDao;
        
        @Override
        public List<Person> findall() {
            // TODO Auto-generated method stub
            return personDao.findall();
        }
    
    }

    测试代码:

    public static void main(String[] args) {
            ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
            
            PersonService personService = (PersonService)context.getBean("personService");
            
             List<Person> persons =    personService.findall();
             System.out.println(persons.size());
             for (Person person : persons) {
                System.out.println(person.getPname());
                 
            }
  • 相关阅读:
    【mysql】关于binlog格式
    【linux】关于TCP三次握手和四次挥手
    【nginx】负载均衡和proxy的配置
    【PHP】$_POST, $HTTP_RAW_POST_DATA, and php://input
    【nginx】关于gzip压缩
    【nginx】配置文件的优化
    【集合框架】JDK1.8源码分析之TreeMap(五)
    【集合框架】JDK1.8源码分析之IdentityHashMap(四)
    【集合框架】JDK1.8源码分析之HashMap & LinkedHashMap迭代器(三)
    【集合框架】JDK1.8源码分析之LinkedHashMap(二)
  • 原文地址:https://www.cnblogs.com/b422/p/spring_jpa.html
Copyright © 2011-2022 走看看