<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 、數據庫
    主站蜘蛛池模板: 久久久精品2019免费观看 | 精品在线免费视频| 免费手机在线看片| 日韩伦理片电影在线免费观看| 亚洲av无码一区二区三区观看| 2020久久精品国产免费| 亚洲校园春色小说| 午夜宅男在线永久免费观看网| 亚洲综合中文字幕无线码| 在线观看特色大片免费视频 | 亚洲成人影院在线观看| 久久丫精品国产亚洲av不卡| 亚洲欧美日韩综合久久久| 精品国产污污免费网站入口| 国产亚洲av人片在线观看| 曰批全过程免费视频在线观看无码 | 亚洲永久网址在线观看| 青娱乐在线视频免费观看| 哒哒哒免费视频观看在线www| 亚洲爱情岛论坛永久| 最近免费中文在线视频| 国产性爱在线观看亚洲黄色一级片| 亚洲色成人WWW永久在线观看| 四虎成人免费影院网址| 草久免费在线观看网站| 久久精品国产亚洲综合色| 91精品手机国产免费| 亚洲国产午夜精品理论片在线播放 | 中文字幕亚洲乱码熟女一区二区| baoyu777永久免费视频 | 一级毛片试看60分钟免费播放| 国产亚洲精品福利在线无卡一| 久久精品免费电影| 亚洲 欧洲 日韩 综合在线| 99久久免费中文字幕精品| 伊人久久亚洲综合影院首页| 亚洲人成色7777在线观看不卡| 亚洲欧美aⅴ在线资源| 综合亚洲伊人午夜网| 成年人性生活免费视频| 亚洲一区二区三区高清在线观看|