<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-112  評論-73  文章-0  trackbacks-0
    使用maven工程,pom.xml文件如下
    <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>3.2.4.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>3.2.4.RELEASE</version>
            </dependency>

            <dependency>
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz</artifactId>
                <version>1.8.5</version>
            </dependency>

            <dependency>
                <groupId>org.hibernate.javax.persistence</groupId>
                <artifactId>hibernate-jpa-2.0-api</artifactId>
                <version>1.0.1.Final</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>4.2.8.Final</version>
            </dependency>

            <!-- for JPA, use hibernate-entitymanager instead of hibernate-core -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>4.2.8.Final</version>
            </dependency>

            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.27</version>
            </dependency>
           <!-- <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
                <version>3.0</version>
            </dependency>
    -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>3.2.4.RELEASE</version>
                <scope>test</scope>
            </dependency>
        </dependencies>

    dao接口如下:
    package cn.test.dao;

    /**
     * Created by libo on 13-12-19.
     
    */
    public interface IDao {

        void save(Object entity);
    }

    dao實現類如下:
    package cn.test.dao;

    import org.springframework.stereotype.Component;

    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;

    /**
     * Created by libo on 13-12-19.
     
    */
    @Component
    public class DaoJpaImpl implements IDao {

        @PersistenceContext
        private EntityManager entityManager;

        @Override
        public void save(Object entity) {
            entityManager.persist(entity);
        }
    }

    service 接口:
    package cn.test.service;

    import cn.test.entity.User;

    /**
     * Created by libo on 13-12-19.
     
    */
    public interface UserService {
        void save(User user);
    }

    service 實現類:
    package cn.test.service;

    import cn.test.dao.IDao;
    import cn.test.entity.User;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import org.springframework.transaction.annotation.Transactional;

    /**
     * Created by libo on 13-12-19.
     
    */
    @Service
    public class UserServiceImpl implements UserService {

        @Autowired
        private IDao iDao;

        @Override
        //@Transactional(propagation= Propagation.REQUIRED)
        @Transactional(readOnly = false)
        public void save(User user) {
            iDao.save(user);
        }
    }
    實體類:
    package cn.test.entity;

    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.Table;
    import java.io.Serializable;

    /**
     * Created by libo on 13-12-19.
     
    */
    @Entity
    @Table(name = "myUser")
    public class User implements Serializable{

        @Id
        private String id;

        private String name;

        private int age;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public int getAge() {
            return age;
        }

        public void setAge(int age) {
            this.age = age;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    spring-config.xml 其中
    task相關內容可以刪除
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:tx
    ="http://www.springframework.org/schema/tx"
           xmlns:task
    ="http://www.springframework.org/schema/task"
           xmlns:context
    ="http://www.springframework.org/schema/context"
           xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation
    ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/task
                http://www.springframework.org/schema/task/spring-task-3.1.xsd http://www.springframework.org/schema/context
                http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd"
    >
        <context:annotation-config/>
        <context:component-scan base-package="cn.test"/>
        <task:annotation-driven/>

        <bean id="em" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
            <property name="dataSource" ref="dataSource"/>
            <property name="packagesToScan" value="cn.test.entity"/>
            <property name="jpaVendorAdapter">
                <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>
            </property>
            <property name="jpaProperties">
                <props>
                    <prop key="hibernate.hbm2ddl.auto">update</prop>
                    <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
                </props>
            </property>
        </bean>

        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/spring_jpa"/>
            <property name="username" value="root"/>
            <property name="password" value="123456"/>
        </bean>

        <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
            <property name="entityManagerFactory" ref="em"/>
        </bean>
        <!-- 可以使用@Transactional配置事務 -->
        <tx:annotation-driven transaction-manager="transactionManager"/>

        <bean id="persistenceExceptionTranslationPostProcessor"
              class
    ="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>
    </beans>

    測試類:
    package cn.test.service;

    import cn.test.entity.User;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

    /**
     * Created by libo on 13-12-19.
     
    */
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = "classpath:spring-config.xml")
    public class UserServiceImplTest {

        @Autowired
        private UserService userService;

        @Test
        public void testSave() throws Exception {
            User user = new User();
            user.setId("u_id");
            user.setName("u_name");
            user.setAge(23);
            userService.save(user);
        }
    }

    運行Junit測試就可以了。連接的是MySQL數據庫

    end.
    posted on 2013-12-19 16:17 Libo 閱讀(591) 評論(0)  編輯  收藏 所屬分類: Spring 、數據庫
    主站蜘蛛池模板: 黄色成人网站免费无码av| 国产精品亚洲小说专区| 亚洲美女色在线欧洲美女| 亚洲熟妇无码八AV在线播放| 亚洲国产成人久久一区WWW| 免费一级做a爰片久久毛片潮喷| 全免费a级毛片免费**视频| 四虎影视大全免费入口| 午夜电影免费观看| 日韩高清在线免费看| 国产精品免费视频网站| 日本高清免费aaaaa大片视频| 亚洲乱亚洲乱妇无码麻豆| 亚洲av一综合av一区| 亚洲五月综合网色九月色| 国产亚洲精品美女2020久久| 中国精品一级毛片免费播放| 亚洲一区免费视频| 日本永久免费a∨在线视频 | 亚洲精品自产拍在线观看动漫| 亚洲人和日本人jizz| 免费国产a理论片| 香港a毛片免费观看 | 亚洲色图国产精品| 亚洲精品无码专区| 久久免费视频一区| 大地资源二在线观看免费高清| 亚洲一区二区三区乱码A| 亚洲综合在线成人一区| 免费大片av手机看片| 99精品热线在线观看免费视频| 免费观看的av毛片的网站| 久久精品九九亚洲精品天堂| 国产午夜亚洲精品国产| 视频免费在线观看| 暖暖免费高清日本中文| 亚洲综合精品香蕉久久网97| 亚洲国产成人AV网站| 最近高清中文字幕免费| 亚洲综合激情另类专区| 四虎必出精品亚洲高清|