Spring-Data-Jpa Crud示例
来源:互联网 发布:韩信点兵的算法 编辑:程序博客网 时间:2024/05/21 18:34
前言
之前在上一次只是简单讲了一下Spring中如何使用Spring-Data-Jpa来将Spring与Jpa融合,配置文件的设置和参数说明.这次根据一个具体的增删改查的例子来演示一下.话不多说,上代码(配置文档按照之前的Spring-Data-Jpa的概述中的方式配置即可).
实现原理
类之间的关系
对应的类文件
User实体类
package cn.edu.sdut.softlab.entity;@Entity@Table(name="user")public class User{ @Id @GenerateValue private Integer id; private String name; private Stirng address; private String phone; public User(){ }}
UserRepository接口
package cn.edu.sdut.softlab.repository;import org.springframework.data.jpa.repository.JpaRepository;import cn.edu.sdut.softlab.entity.User;public interface UserRepository extends JpaRepository<User,Integer>{ @Modifying // 说明该方法是修改操作 @Transactional // 说明该方法是事务性操作 @Query("update UserEntity us set us.firstName=:qFirstName, " + "us.lastName=:qLastName, us.password=:qPassword where us.id=:qId") void updateUser( @Param("qFirstName") String firstName, @Param("qLastName") String lastName, @Param("qPassword") String password, @Param("qId") Integer id);}
UserService接口
package cn.edu.sdut.softlab.repository;import cn.edu.sdut.softlab.entity.User;import java.util.List;public interface UserService { public void addUser(User user); public void UpdateUser(User user); public void delectUser(User user); public User getUser(Integer id); public List<User> getUsers();}
UserServiceImpl
package cn.edu.sdut.softlab.service;import org.springframework.beans.factory.annotation.Autowired;import cn.edu.sdut.softlab.repository.UserRepository;public class UserSerivceImpl implements UserService { @Autowired private UserRepository userrepository; @Override public void addUser(User user){ userrepository.save(user); } @Override public void updateUser(User user){ User userEntity = userrepository.findOne(user.getId()); userrepository.updateUser( userEntity.getFirstName(), userEntity.getLastName(), userEntity.getPassword(), userEntity.getId() ); } @Override public void delectUser(User user){ User user = userrepository.findOne(user.getId()); userrepository.delect(user); userrepository.flush(); } @Override public User getUser(Integer id){ User user = userrepository.findOne(id); return user; } @Override public List<User> getUsers(){ List<User> users = userrepository.findAll(); return users; }}
以上是对示例的大致性的演示,异常类和测试类暂时不写了,不太完善,但是主要部分基本展示完了.这里有一个具体的示例(能正常运行)–Spring-Data-Jpa Demo.希望对你们有用!
总结
其实仔细观察一下JpaRepository接口里面的方法,对照一下Jpa原始的EntityManager接口的方法.两者都是一些增删改查的方法,本质是一样的,只不过Spring-Data-Jpa对它进行了分层化的处理,其实从功能上来看没什么区别.所以说,你会用Jpa,就离掌握Spring-Data-Jpa很近了,需要注意的就是Spring的一些规范和方式特性的问题了.至此,望读者在Spring的道路上继续奋进.
阅读全文
0 0
- Spring-Data-Jpa Crud示例
- Spring data jpa实现CRUD的三种方式
- 整合 freemarker +spring security + spring MVC + spring DATA jpa 前端jtable 简单的crud
- spring data jpa 分页配置 及简单示例
- Jpa到Spring data jpa
- Spring Data JPA
- Spring-Data-Jpa
- Spring Data JPA
- Spring data jpa
- Spring Data JPA 使用
- Spring Data JPA
- Spring Data JPA
- spring data JPA 配置
- Spring Data JPA
- Spring Jpa Data
- spring-data-jpa 使用
- spring data jpa初试
- Spring Data jpa Repository
- 将本地文本文件直接导入hive(impala好像不支持)表中
- Codeforces 358D Dima And Hares DP
- SQL基本语法---概述
- 建立Android代码库本地镜像
- 特征工程(二)
- Spring-Data-Jpa Crud示例
- MFC较好地将异常封装到CException类及
- java并发编程实战-构建高效且可伸缩的结果缓存
- HDU 1213 How Many Tables (并查集炒鸡入门题)
- nginx-gzip压缩提升网站速度
- Recycleview设置间距
- golang中select和switch的区别
- 有序,无序,表单(章节二):
- 特征工程(一)