JPA整合Spring
来源:互联网 发布:北京北大软件上班 编辑:程序博客网 时间:2024/05/18 13:06
JPA实体类型
package springframework.jpa;import java.io.Serializable;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;@Entitypublic class User implements Serializable {private static final long serialVersionUID = 1L;private String id;private String name;private Integer age;@Column(nullable=true,length=50)public String getName() {return name;}public void setName(String name) {this.name = name;}@Column(nullable=true,length=20)public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public User() {}@Idpublic String getId() {return this.id;}public void setId(String id) {this.id = id;}public int hashCode() {return (this.id == null) ? 0 : this.id.hashCode();}public boolean equals(Object object) {if (object instanceof User) {final User obj = (User) object;return (this.id != null) ? this.id.equals(obj.id): (obj.id == null);}return false;}}
Dao接口
package springframework.jpa.dao;import java.io.Serializable;public interface DaoUtil {public <T extends Serializable> void saveObject(T obj);}DAO实现类
package springframework.jpa.dao.impl;import java.io.Serializable;import javax.persistence.EntityManager;import javax.persistence.PersistenceContext;import org.springframework.stereotype.Repository;import org.springframework.transaction.annotation.Transactional;import springframework.jpa.dao.DaoUtil;@Repository("DaoUtil") public class DaoUtilImpl implements DaoUtil {@PersistenceContextprivate EntityManager em;@Transactional @Overridepublic <T extends Serializable> void saveObject(T obj) {em.persist(obj);}}
业务层接口
package springframework.jpa.service;import java.io.Serializable;public interface DaoService {public <T extends Serializable> T saveObject(Object[] paras);}
业务层实现类
package springframework.jpa.service.impl;import java.io.Serializable;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import springframework.jpa.User;import springframework.jpa.dao.DaoUtil;import springframework.jpa.service.DaoService;@Service("DaoService") public class UserServiceImpl implements DaoService {@Autowired private DaoUtil util;@Overridepublic <T extends Serializable> T saveObject(Object[] paras) {User user = new User();user.setAge((Integer)paras[0]);user.setId((String)paras[1]);user.setName((String)paras[2]);util.saveObject(user);return null;}}
<?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:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/jeehttp://www.springframework.org/schema/jee/spring-jee-3.1.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.1.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.1.xsd"><context:component-scan base-package="springframework.jpa"/><tx:annotation-driven transaction-manager="transactionManager" /><bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"><property name="entityManagerFactory" ref="entityManagerFactory" /></bean><bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"/></beans>
JPA持久文件
<?xml version="1.0" encoding="UTF-8"?><persistence xmlns="http://java.sun.com/xml/ns/persistence"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"version="2.0"><persistence-unit name="SimpleJpa" transaction-type="RESOURCE_LOCAL"><provider>org.hibernate.ejb.HibernatePersistence</provider><class>springframework.jpa.User</class><properties><property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" /><property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/test" /><property name="hibernate.connection.username" value="root" /><property name="hibernate.connection.password" value="111111" /><property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" /><property name="hibernate.show_sql" value="true" /><property name="hibernate.format_sql" value="true" /><property name="hibernate.use_sql_comments" value="false" /><property name="hibernate.hbm2ddl.auto" value="update" /></properties></persistence-unit></persistence>
测试
package springframework.test;import org.springframework.context.support.ClassPathXmlApplicationContext;import springframework.jpa.User;import springframework.jpa.dao.DaoUtil; public class SimpleSpringJpaDemo { public static void main(String[] args) { ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); DaoUtil userDao = ctx.getBean("DaoUtil", DaoUtil.class); User user = new User();user.setAge(21);user.setId("767345-6273423-122");user.setName("Mary"); userDao.saveObject(user); } }
用上Spring可以更好的分离Dao层,Service层,View层
0 0
- spring + compass+JPA整合
- 整合Spring和JPA
- 简单 spring + jpa 整合
- JPA整合spring问题
- Spring整合JPA
- spring整合jpa
- spring整合jpa优化
- Spring整合Jpa框架
- JPA整合Spring
- Spring整合JPA
- Spring:整合JPA
- 【Spring】SpringMVC整合JPA
- jpa与spring整合
- spring整合JPA总结
- Spring整合JPA
- Spring 整合 JPA
- JPA-7 整合Spring
- spring整合jpa
- Maven 的安装和配置
- Linux加载ko出现unknown relocation: 38 的解决办法
- 《移动游戏开发精要》书评【跟我一样小白的,推荐这本书哦】
- 记录工作时常用命令
- Salesforce开发入门
- JPA整合Spring
- Android-GPS详解
- 延迟显示子菜单方法
- Android Zxing 二维码添加 开 关 灯 的功能
- Java NIO系列教程(十二) Java NIO与IO
- 取出数组中的重复数字 和 不重复的数量和去重
- CSS框架Less
- Windows7下安装scipy
- scrapy抓取网页信息插入MySQL