<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 閱讀(592) 評論(0)  編輯  收藏 所屬分類: Spring數據庫
    主站蜘蛛池模板: 97视频免费观看2区| 黄色片在线免费观看| 免费无码国产在线观国内自拍中文字幕| 亚洲精品人成网在线播放影院| 亚洲国产欧美国产综合一区| 成人免费大片免费观看网站| 亚洲精品免费在线视频| 亚洲网站免费观看| 亚洲国产成人九九综合| 日韩精品福利片午夜免费观着 | 免费日本黄色网址| 在线播放免费播放av片| 亚洲xxxx视频| 国产免费啪嗒啪嗒视频看看| 免费在线观看一区| 国产AV无码专区亚洲AWWW| 亚洲制服在线观看| 成人a视频片在线观看免费| 国产精品亚洲精品日韩动图| 亚洲欧洲自拍拍偷精品 美利坚| 亚洲国产精品lv| 曰批免费视频播放免费| 亚洲中文字幕伊人久久无码| 亚洲精华液一二三产区| 免费永久国产在线视频| 三级网站在线免费观看| 国产一区二区三区在线免费| 一级毛片**免费看试看20分钟| 亚洲av永久无码精品漫画| 无码中文字幕av免费放| 黄色免费网址大全| 国产在线观看免费完整版中文版 | 二区久久国产乱子伦免费精品| 日本免费一区二区三区最新vr| 亚洲宅男精品一区在线观看| 国产又长又粗又爽免费视频| 本免费AV无码专区一区| 亚洲资源最新版在线观看| 久99精品视频在线观看婷亚洲片国产一区一级在线| 中国videos性高清免费| 亚洲综合无码无在线观看|