标签:base 示例 img artifact get 1.3 接口 pen hibernate
直接上代码:
<!-- hibernate start --> <!-- spring data jpa --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> <version>2.1.3.RELEASE</version> </dependency> <!-- hibernate --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.4.0.Final</version> </dependency> <!-- hibernate end -->
package com.oukele.the_data_jpa.entity;
import org.springframework.stereotype.Component;
import javax.persistence.*;
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "Id")
private int id;
@Column(name = "userName")
private String name;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package com.oukele.the_data_jpa.dao; import com.oukele.the_data_jpa.entity.User; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; public interface UserDao extends JpaRepository<User, Integer> { User findByNameAndPassword(String name,String password); }
package com.oukele.the_data_jpa.service; import com.oukele.the_data_jpa.dao.UserDao; import com.oukele.the_data_jpa.entity.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class UserService { @Autowired private UserDao userDao; public User findNameAndPassword(String name,String password){ return userDao.findByNameAndPassword(name, password); } }
package com.oukele.the_data_jpa; import com.mchange.v2.c3p0.ComboPooledDataSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import org.springframework.core.env.Environment; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; import javax.sql.DataSource; import java.beans.PropertyVetoException; import java.util.Properties; @Configuration//声明当前配置类 @ComponentScan(basePackages = "com.oukele.the_data_jpa")// 扫描当前包 使用 spring 注解 @PropertySource("classpath:jdbc.properties")//加载 资源文件 @EnableJpaRepositories(basePackages = "com.oukele.the_data_jpa.dao")//扫描 使用 jpa 注解的接口 public class SpringConfig { //配置数据源 @Bean DataSource dataSource(Environment env) throws PropertyVetoException { ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setDriverClass(env.getProperty("jdbc.driver")); dataSource.setJdbcUrl(env.getProperty("jdbc.url")); dataSource.setUser(env.getProperty("jdbc.user")); dataSource.setPassword(env.getProperty("jdbc.password")); return dataSource; } //SqlSessionFactory @Bean LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource){ LocalContainerEntityManagerFactoryBean bean = new LocalContainerEntityManagerFactoryBean(); bean.setDataSource(dataSource); bean.setPackagesToScan("com.oukele.the_data_jpa.entity");//扫描实体类 bean.setJpaVendorAdapter(new HibernateJpaVendorAdapter()); Properties properties = new Properties(); properties.setProperty("hibernate.hbm2ddl.auto", "update"); properties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect"); bean.setJpaProperties(properties); return bean; } }
package com.oukele.the_data_jpa; import com.oukele.the_data_jpa.entity.User; import com.oukele.the_data_jpa.service.UserService; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class Main { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class); UserService service = context.getBean(UserService.class); User user = service.findNameAndPassword("oukele","oukele"); System.out.println(user); } }
jdbc.driver=org.mariadb.jdbc.Driver jdbc.url=jdbc:mariadb://localhost:3306/test jdbc.user=oukele jdbc.password=oukele
示例代码下载: https://github.com/oukele/spring-hibernate-spring-data-jpa
Spring整合Hibernate实现Spring Data JPA (简单使用)
标签:base 示例 img artifact get 1.3 接口 pen hibernate
原文地址:https://www.cnblogs.com/oukele/p/10156585.html