<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无码专区亚洲AV漫画| 美女巨胸喷奶水视频www免费| 亚洲毛片网址在线观看中文字幕| 日本视频免费观看| 亚洲伊人色欲综合网| 无码AV片在线观看免费| 亚洲色图黄色小说| 国产成在线观看免费视频| 亚洲国产日韩视频观看| 欧洲精品免费一区二区三区| 男男gay做爽爽免费视频| 亚洲国产一区二区视频网站| 亚洲精品黄色视频在线观看免费资源| 国产亚洲午夜高清国产拍精品| 18禁在线无遮挡免费观看网站| 图图资源网亚洲综合网站| 免费观看黄色的网站| 亚洲丁香婷婷综合久久| 亚洲国产主播精品极品网红| 在线观看免费黄网站| 亚洲视频在线观看不卡| 成人黄动漫画免费网站视频| 日日摸夜夜添夜夜免费视频| 亚洲AV无码久久| 我要看WWW免费看插插视频| 一区二区三区免费在线视频| 亚洲AV无码久久精品狠狠爱浪潮| 91手机看片国产永久免费| 337P日本欧洲亚洲大胆艺术图| 久久久久亚洲AV无码专区网站| 国产高清不卡免费在线| 亚洲AV电影天堂男人的天堂| 久久精品国产精品亚洲精品| 歪歪漫画在线观看官网免费阅读 | 亚洲AV日韩AV永久无码久久| 亚洲第一成年免费网站|