日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring Data環境搭建實現過程解析

瀏覽:148日期:2023-08-18 15:08:54

 本節作為主要講解Spring Data的環境搭建

JPA Spring Data :致力于減少數據訪問層(DAO)的開發量。開發者唯一要做的就是聲明持久層的接口,其他都交給Spring Data JPA來幫你完成!

使用Spring Data JPA進行持久層開發需要的四個步驟:

配置Spring 整合 JPA 在Spring配置文件中配置Spring Data,讓Spring 為聲明的接口創建代理對象。配置了<jpa:repositories>后,Spring 初始化容器時將會掃描base-package 指定的包目錄及其子目錄,為繼承Repository或其子接口的接口創建代理對象,并將代理對象注冊為SpringBean,業務層便可以通過Spring的自動封裝的特性來直接使用該對象。 聲明持久層的接口,該接口繼承Repository。Repository是一個標記型接口,它不包含任何方法,如必要,Spring Data 可實現Repository其他子接口,其中定義了一些常用的增刪改查,以及分頁相關的方法。 在接口中聲明需要的方法。Spring Data將根據給定的策略,來為其生成實現代碼。

環境搭建

 1.所需要的包

① 加入spring包

spring-aop-4.3.8.RELEASE.jar spring-aspects-4.3.8.RELEASE.jar spring-beans-4.3.8.RELEASE.jar spring-context-4.3.8.RELEASE.jar spring-core-4.3.8.RELEASE.jar spring-expression-4.3.8.RELEASE.jar spring-jdbc-4.3.8.RELEASE.jar spring-orm-4.3.8.RELEASE.jar spring-tx-4.3.8.RELEASE.jar spring-web-4.3.8.RELEASE.jar spring-webmvc-4.3.8.RELEASE.jar com.springsource.net.sf.cglib-2.2.0.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar commons-logging-1.1.1.jar

② 加入hibernate包

antlr-2.7.7.jar dom4j-1.6.1.jar hibernate-commons-annotations-4.0.5.Final.jar hibernate-core-4.3.11.Final.jar hibernate-jpa-2.1-api-1.0.0.Final.jar jandex-1.1.0.Final.jar javassist-3.18.1-GA.jar jboss-logging-3.1.3.GA.jar jboss-logging-annotations-1.2.0.Beta1.jar jboss-transaction-api_1.2_spec-1.0.0.Final.jar

③ 加jpa的包

hibernate-entitymanager-4.3.11.Final.jar

④ 加c3p0的包

c3p0-0.9.2.1.jar hibernate-c3p0-4.3.11.Final.jar mchange-commons-java-0.2.3.4.jar

⑤ 加mysql的驅動

mysql-connector-java-5.1.7-bin.jar

⑥加入springData

spring-data-commons-1.6.2.RELEASE.jar spring-data-jpa-1.4.2.RELEASE.jar

⑦加入 slf4j-api-1.6.1.jar

2.Spring Bean配置文件

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:context='http://www.springframework.org/schema/context' xmlns:tx='http://www.springframework.org/schema/tx' xmlns:jpa='http://www.springframework.org/schema/data/jpa' xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd'> <context:property-placeholder location='classpath:db.properties' /> <!--配置數據源 --> <bean class='com.mchange.v2.c3p0.ComboPooledDataSource'> <property name='user' value='${jdbc.user}'></property> <property name='password' value='${jdbc.password}'></property> <property name='jdbcUrl' value='${jdbc.jdbcUrl}'></property> <property name='driverClass' value='${jdbc.driverClass}'></property> </bean> <!--配置JPA的entityManagerFactory --> <bean class='org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean'> <property name='dataSource' ref='dataSource'></property> <!-- 配置JPA的實現 --> <property name='jpaVendorAdapter'> <bean class='org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter'></bean> </property> <property name='packagesToScan' value='com.ntjr.springdata'></property> <property name='jpaProperties'> <props> <!-- 二級緩存相關 --> <!-- <prop key='hibernate.cache.region.factory_class'>org.hibernate.cache.ehcache.EhCacheRegionFactory</prop> <prop key='net.sf.ehcache.configurationResourceName'>ehcache-hibernate.xml</prop> --> <!-- 生成的數據表的列的映射策略 --> <prop key='hibernate.ejb.naming_strategy'>org.hibernate.cfg.ImprovedNamingStrategy</prop> <!-- hibernate 基本屬性 --> <prop key='hibernate.dialect'>org.hibernate.dialect.MySQL5InnoDBDialect</prop> <prop key='hibernate.show_sql'>true</prop> <prop key='hibernate.format_sql'>true</prop> <prop key='hibernate.hbm2ddl.auto'>update</prop> </props> </property> </bean> <!--配置事物管理器 --> <bean class='org.springframework.orm.jpa.JpaTransactionManager'> <property name='entityManagerFactory' ref='entityManagerFactory'></property> </bean> <!-- 配置支持注解的事物 --> <tx:annotation-driven transaction-manager='transactionManager' /> <!--配置springData --> <!--base-package:掃描Repository Bean所在的package --> <jpa:repositories base-package='com.ntjr.springdata' entity-manager-factory-ref='entityManagerFactory' transaction-manager-ref='transactionManager'> </jpa:repositories> </beans>applicationContext.xml

3.數據庫持久類

Person.java

package com.ntjr.springdata; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @Table(name = 'JPA_PERSONS') @Entity public class Person { private Integer id; private String lastName; private String email; private Date birth; @GeneratedValue @Id public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getLastName() { return lastName; } @Column(name = 'LAST_NAME') public void setLastName(String lastName) { this.lastName = lastName; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Date getBirth() { return birth; } public void setBirth(Date birth) { this.birth = birth; } @Override public String toString() { return 'Person [id=' + id + ', lastName=' + lastName + ', email=' + email + ', birth=' + birth + ']'; } }

4.DAO

PersonRepository.java

package com.ntjr.springdata; import org.springframework.data.repository.Repository; /** * * 1、實現Repository接口 * 2、通過注解的方式@RepositoryDefinition將一個bean定義為Repository接口 */ public interface PersonRepsitory extends Repository<Person, Integer> { // 根據lastName獲取對應的person Person getByLastName(String lastName); }

5.測試

SpringDataTest.java

package com.ntjr.springdata.test; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.ntjr.springdata.Person; import com.ntjr.springdata.PersonRepsitory; public class SpringDataTest { private ApplicationContext ctx = null; { ctx = new ClassPathXmlApplicationContext('applicationContext.xml'); } @Test public void getPersonForLastName() { PersonRepsitory personRepsitory = ctx.getBean(PersonRepsitory.class); Person person = personRepsitory.getByLastName('AA'); System.out.println(person); } }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
中国字幕a在线看韩国电影| 久久精品国语| 欧美不卡高清一区二区三区| 欧美日韩a区| 国产精品成人3p一区二区三区| 日本不卡视频一二三区| 日韩不卡一二三区| 日韩不卡在线观看日韩不卡视频 | 精品美女视频| 亚洲天堂av影院| 亚洲黄色影院| 综合视频一区| 免费一级欧美在线观看视频| 国产成人免费视频网站视频社区| 在线看片福利| 成人久久一区| 亚洲精品动态| 国产999精品在线观看| 欧美日韩一区二区三区视频播放| 午夜在线视频观看日韩17c| 麻豆成人在线| 九九九精品视频| 国产精品丝袜xxxxxxx| 国产欧美日韩影院| 好吊一区二区三区| 国产精品一区二区99| 欧美/亚洲一区| 美女视频黄免费的久久| 日本欧美不卡| 欧美一区网站| 色88888久久久久久影院| 日本不卡视频在线| 三级精品视频| 精品欧美日韩精品| 日本午夜精品视频在线观看| 精品亚洲美女网站| 国产精品videossex久久发布| 视频一区视频二区中文| 最新中文字幕在线播放| 国产日韩欧美一区二区三区| 91精品一区二区三区综合在线爱| 日本国产欧美| 亚洲一区欧美二区| 亚洲va中文在线播放免费| 久久精品xxxxx| 久久理论电影| 国产色播av在线| 欧美激情在线精品一区二区三区| 亚洲欧美日本日韩| 黑丝一区二区| 欧美日韩国产在线一区| 动漫av一区| 国产亚洲观看| 日韩精品一区二区三区中文字幕| 美女久久久久| 亚洲va在线| 成人啊v在线| 成人精品久久| 日韩av有码| 精品久久在线| 少妇精品久久久一区二区三区| 亚洲一本视频| 五月天综合网站| 亚洲性图久久| 亚洲一区二区三区免费在线观看 | 国产一区日韩一区| 亚洲国产影院| 国产免费成人| 蜜桃久久久久久久| 日韩av影院| 国产乱码精品一区二区亚洲| 欧美日韩1区| 国产黄色精品| 成人污污视频| 国产videos久久| 快播电影网址老女人久久| 肉色欧美久久久久久久免费看| 国产精品宾馆| av综合电影网站| 欧美另类综合| 亚洲精品亚洲人成在线观看| 日韩av电影一区| 国产精品伊人| 国产精品久久久久蜜臀| 在线成人动漫av| 久久午夜影视| 国产欧美日韩一区二区三区在线| 成人在线视频免费看| 午夜精品影院| 蜜桃视频在线观看一区| 久久成人高清| 黄色成人精品网站| 麻豆精品99| 久久午夜精品一区二区| 久久精品国内一区二区三区| 免费日韩av片| 国产白浆在线免费观看| 蜜臀久久久久久久| 国产一区精品福利| 亚洲一区观看| 亚洲精品一区三区三区在线观看| 日韩精品社区| 亚洲性色视频| 久久精品午夜| 丝袜亚洲另类欧美| 久久天堂av| 欧美1区2区3| 三级久久三级久久久| 999久久久91| 久久免费福利| 亚洲tv在线| 美女日韩在线中文字幕| 久久精品青草| 精品99久久| 欧美精品导航| 清纯唯美亚洲综合一区| 只有精品亚洲| 日韩一级精品| 亚洲深夜av| 国产在线观看www| 国产一区调教| 久久精品伊人| 久久69成人| 国产精品1区| 国产精品久久久久77777丨| 日韩欧美2区| 蜜臀精品一区二区三区在线观看 | 婷婷国产精品| av免费不卡国产观看| 国产精品99一区二区三区| 精品亚洲成人| 中文字幕在线看片| 9999国产精品| 国产传媒av在线| 欧美午夜精彩| 国产高清久久| 中文精品电影| 欧美午夜网站| 久久亚洲精品中文字幕| 成人日韩av| 免费观看久久av| 亚洲3区在线| 国产精品白丝av嫩草影院| 精品国产一区二区三区2021| 荡女精品导航| 午夜国产精品视频| 青草久久视频| 久久av影视| 精品欧美久久| 国产欧美高清视频在线| 久久久男人天堂| av亚洲在线观看| 91精品国产一区二区在线观看| 狠狠久久伊人中文字幕| 欧美特黄一级| 国产伦精品一区二区三区千人斩 | 国产精品xvideos88| 日韩在线观看不卡| 日韩中文av| 正在播放日韩精品| 只有精品亚洲| av中文字幕在线观看第一页| 国产亚洲高清视频| 精品理论电影在线| 免费在线成人网| 裤袜国产欧美精品一区| 国产亚洲精品v| а√在线中文在线新版| 人人精品久久| 欧美日韩视频| 中文字幕人成乱码在线观看 | 久久免费影院| 蜜桃视频一区二区三区在线观看| 超碰在线99| 国产日韩中文在线中文字幕| 激情五月综合| 一区二区精品伦理...| 欧美久久精品| 亚洲精品日韩久久| 国产精品美女| 久久视频精品| 国产不卡精品| 精品三区视频| 国产精品亚洲欧美日韩一区在线| 国产亚洲高清视频| 亚洲欧美一区在线| 成人小电影网站| 欧美aa在线视频| 国产精品一级| 国产精品一级在线观看| 亚洲tv在线| 欧美永久精品| 国产调教精品| 91亚洲精品在看在线观看高清| 丝袜美腿亚洲色图| 99视频精品| 日韩在线观看一区二区| 蜜桃伊人久久| 日韩 欧美一区二区三区| 欧美日本一区|