Spring Data 学习(1)—— HelloWorld
2016-05-02 09:45
519 查看
我还是先搜索了一下 Spring Data 官方网站:
Spring Data http://projects.spring.io/spring-data/
说明:本笔记为学习了尚硅谷佟刚老师的《Spring Data 视频教程》所做。在此向佟刚老师表示感谢。
项目结构:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/16/27a55b48d1d9d4e3edcfa6b08e6f341d)
(2)hibernate 的 required
(3)jpa(在 Hibernate 下载的包中)
(4)加入 Spring Data 的 jar 包
spring-data-commons-1.6.2.RELEASE.jar
spring-data-jpa-1.4.2.RELEASE.jar
(5)c3p0(在 Hibernate 下载的包中)
(6)mysql
(7)slf4j (在后面代码运行的时候,控制台会提示你缺少该 jar 包)
(1)配置数据源(Druid 或者 c3p0 都行)
(2)配置 JPA 的 EntityManagerFactory
(3)配置事务管理器
(4)配置支持注解的事务
(5)配置 SpringData
具体步骤:
(1)配置数据源(Druid 或者 c3p0 都行)
(2)配置 JPA 的 EntityManagerFactory
说明:这里我们注释了二级缓存的相关配置。
(3)配置事务管理器
(4)配置支持注解的事务
(5)配置 SpringData
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/16/ce766f7ecc2f2b1d0bf50819b4012276)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/16/44efed41290dc4ca850b287da9723964)
重要说明:这里我们不能使用别的方法名字。必须以 get 开头,by 是固定写法(拼接成方法名的时候首字母大写),表示一个连接词,lastName 是 Person 类的一个属性(拼接成方法名的时候首字母大写)。
控制台打印:
Spring Data http://projects.spring.io/spring-data/
说明:本笔记为学习了尚硅谷佟刚老师的《Spring Data 视频教程》所做。在此向佟刚老师表示感谢。
项目结构:
1、添加依赖
(1)Spring 所有 jar 包(2)hibernate 的 required
(3)jpa(在 Hibernate 下载的包中)
(4)加入 Spring Data 的 jar 包
spring-data-commons-1.6.2.RELEASE.jar
spring-data-jpa-1.4.2.RELEASE.jar
(5)c3p0(在 Hibernate 下载的包中)
(6)mysql
(7)slf4j (在后面代码运行的时候,控制台会提示你缺少该 jar 包)
2、编写 Spring 的核心配置文件
步骤:(1)配置数据源(Druid 或者 c3p0 都行)
(2)配置 JPA 的 EntityManagerFactory
(3)配置事务管理器
(4)配置支持注解的事务
(5)配置 SpringData
具体步骤:
(1)配置数据源(Druid 或者 c3p0 都行)
<context:property-placeholder location="db.properties"/> <!-- 1、配置数据源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driverClass}"></property> <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property> <property name="user" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> <!-- 这里还可以配置 c3p0 的其它属性 --> </bean>
(2)配置 JPA 的 EntityManagerFactory
说明:这里我们注释了二级缓存的相关配置。
<!-- 2、配置 JPA 的 EntityManagerFactory --> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"></bean> </property> <!-- 实体类所在的包名 --> <property name="packagesToScan" value="com.liwei.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>
(3)配置事务管理器
<!-- 3、配置事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory"></property> </bean>
(4)配置支持注解的事务
<!-- 4、配置支持注解的事务 --> <tx:annotation-driven transaction-manager="transactionManager"/>
(5)配置 SpringData
<!-- 5、配置 SpringData --> <!-- 加入 jpa 的命名空间 --> <jpa:repositories base-package="com.liwei.springdata.repository" entity-manager-factory-ref="entityManagerFactory"></jpa:repositories>
3、编写实体类
4、编写接口类
public interface PersonRepository extends Repository<Person, Integer> { // 根据 lastName 来获取对应的 Person Person getByLastName(String lastName); }
重要说明:这里我们不能使用别的方法名字。必须以 get 开头,by 是固定写法(拼接成方法名的时候首字母大写),表示一个连接词,lastName 是 Person 类的一个属性(拼接成方法名的时候首字母大写)。
5、编写测试方法
public class DataSourceTest { private ApplicationContext ctx; private PersonRepository personRepository; { ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); personRepository = ctx.getBean(PersonRepository.class); } @Test public void testDataSource(){ DataSource dataSource = (DataSource) ctx.getBean("dataSource"); System.out.println(dataSource); } @Test public void testJPA(){ } @Test public void testHelloWorldSpringData() { System.out.println(personRepository.getClass().getName()); Person person = personRepository.getByLastName("liwei"); System.out.println(person); } }
控制台打印:
相关文章推荐
- Spring Data JPA - “No Property Found for Type” Exception
- mongodb的简单使用二(结合springdata实现增删改查)
- mongodb的简单使用三(结合springdata 使用遇到的坑)
- Spring Data JPA调用存储过程实例
- SpringMVC+Spring Data JPA+Shiro+EasyUI简单权限管理系统
- SpringData学习笔记
- springdata jpa mongodb映射
- spring-data操作redis
- redisTemplate.expire 无效和更新含有生存时间的key
- maven开发springboot+jpa(Spring-data)
- org.springframework.data.mapping.PropertyReferenceException: No property xxxx found for type Xxxx
- SpringData查询方法支持的关键字
- 基于spring的主流框架配置比较
- Spring Data JPA 多条件查询
- Spring+SpringMVC+Spring Data JPA完美整合
- Spring Data 事物的开启不了
- spring、springMVC、springData、jpa项目整合
- idea搭建springdata+mongodb+maven+springmvc
- Spring Data JPA 指南——整理自官方参考文档