博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring : JPA的单独使用
阅读量:5837 次
发布时间:2019-06-18

本文共 4352 字,大约阅读时间需要 14 分钟。

title: 如何单独使用spring data jpa

引用pom文件:

org.springframework.data
spring-data-jpa
2.1.5.RELEASE
org.hibernate
hibernate-core
5.3.5.Final
org.hibernate
hibernate-c3p0
5.3.5.Final
mysql
mysql-connector-java
5.1.47
com.mchange
c3p0
0.9.5.2

编写配置类:

package com.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.data.jpa.repository.config.EnableJpaRepositories;import org.springframework.orm.jpa.JpaTransactionManager;import org.springframework.orm.jpa.JpaVendorAdapter;import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;import org.springframework.transaction.PlatformTransactionManager;import javax.persistence.EntityManagerFactory;import java.util.Properties;/** * @author Zhai * 2019/04/02 15:10 */@Configuration@ComponentScan(basePackages = {"com"})// 指定Repository所在的包@EnableJpaRepositories(basePackages = {"com.domain"})public class JpaConfig {    // 名字必须是entityManagerFactory,或者把@bean中name属性设置为entityManagerFactory    @Bean    public LocalContainerEntityManagerFactoryBean entityManagerFactory() {        LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();        // 设置数据库(如果在hibernate中配置了连接池,则不需要设置)//        em.setDataSource(dataSource());        // 指定Entity所在的包        em.setPackagesToScan("com.domain");        JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();        em.setJpaVendorAdapter(vendorAdapter);        // 配置属性        Properties properties = new Properties();        properties.setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver");        properties.setProperty("hibernate.connection.url", "jdbc:mysql://10.8.3.38:3306/test");        properties.setProperty("hibernate.connection.username", "root");        properties.setProperty("hibernate.connection.password", "root");        properties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");        properties.setProperty("hibernate.connection.provider_class", "org.hibernate.connection.C3P0ConnectionProvider");        properties.setProperty("hibernate.c3p0.min_size", "1");        properties.setProperty("hibernate.c3p0.max_size", "10");        properties.setProperty("hibernate.hbm2ddl.auto", "create");        properties.setProperty("hibernate.show_sql", "true");        properties.setProperty("format_sql", "true");        em.setJpaProperties(properties);        return em;    }    // 名字必须是transactionManager,或者把@bean中name属性设置为transactionManager    @Bean    public PlatformTransactionManager transactionManager(            EntityManagerFactory emf) {        JpaTransactionManager transactionManager = new JpaTransactionManager();        transactionManager.setEntityManagerFactory(emf);        return transactionManager;    }}

测试代码:

package com;import com.config.JpaConfig;import com.domain.Student;import com.domain.StudentRepository;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import java.util.List;/** * @author Zhai * 2019/04/02 14:27 */public class JpaTest {    public static void main(String[] args) {        ApplicationContext context = new AnnotationConfigApplicationContext(JpaConfig.class);        // 获取repository        StudentRepository studentRepository = context.getBean(StudentRepository.class);        Student student1 = new Student();        studentRepository.save(student1);        List
students = studentRepository.findAll(); System.out.println(students); }}

 

转载于:https://www.cnblogs.com/cccy0/p/10647582.html

你可能感兴趣的文章
UVALive 3942 Remember the Word Tire+DP
查看>>
从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~目录...
查看>>
被需求搞的一塌糊涂,怎么办?
查看>>
c_数据结构_队的实现
查看>>
jquery 选择器总结
查看>>
Qt设置背景图片
查看>>
【阿里云文档】常用文档整理
查看>>
java中的Volatile关键字
查看>>
前端自定义图标
查看>>
实验二
查看>>
独立开发一个云(PaaS)的核心要素, Go, Go, Go!!!
查看>>
MyBatis使用DEMO及cache的使用心得
查看>>
网站文章如何能自动判定是抄袭?一种算法和实践架构剖析
查看>>
【OpenCV学习】滚动条
查看>>
ofo用科技引领行业进入4.0时代 用户粘性连续8个月远甩摩拜
查看>>
兰州青年志愿者“中西合璧”玩快闪 温暖旅客回家路
查看>>
计划10年建10万廉价屋 新西兰政府:比想象中难
查看>>
甘肃发首版《3D打印职业教育教材》:校企合作育专才
查看>>
李娜入选国际网球名人堂 成亚洲第一人
查看>>
为找好心人抚养孩子 浙江一离婚父亲将幼童丢弃公园
查看>>