简单的CRUD
确保配置好mysql-conntor 和 jpa 的依赖。
并在本地创建对应数据库!
http://784838898.iteye.com/admin/blogs/2390284
项目启动后会老一套的正向生成DB TABLE。
Step 1:
创建用于测试CRUD的JAVA-BEAN [Person] ,
随便写几个Field 添加 G+S Method 及无参Constructor.
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Person {
@Id
@GeneratedValue
private Integer id;
private String nickName;
private String gender;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Person() {
}
}
需标注@Entity
@Id
@GeneratedValue
此处代表PrimaryKey自增长序列
-------------------------------------------------------------------------------
添加数据持久化接口类
[PersonRepository.java]
import org.springframework.data.jpa.repository.JpaRepository;
import com.demo.bean.Person;
public interface PersonRepository extends JpaRepository<Person,Integer> {
}
这里的PersonRepository接口实现了JpaRepository接口;
实际上JpaRepository实现了PagingAndSortingRepository接口,PagingAndSortingRepository接口实现了CrudRepository接口,CrudRepository接口实现了Repository接口;
说明:
Repository接口是一个标识接口,里面是空的
CrudRepository接口定义了增删改查方法
PagingAndSortingRepository接口用于分页和排序
由于JpaRepository接口继承了以上所有接口,所以拥有它们声明的所有方法
以findAll方法为例,JpaRepository接口返回的是List, PagingAndSortingRepository和CrudRepository返回的是迭代器!
简单的增删改查在Controller中如下
@Autowired
private PersonRepository personRepository ;
/**
* findAll
*
*/
@GetMapping(value = "/persons")
public List<Person> personList(){
return personRepository.findAll();
}
/**
* findOne
*
*/
@GetMapping(value = "/persons")
public Person personById(){
return personRepository.findOne(1);
}
/**
* Add Person / Update Person IF PK EXSITS
* @param name
*
*/
@GetMapping(value = "/personAdd")
public Person addPerson(@RequestParam("name") String name){
Person person = new Person();
person.setName(name);
return personRepository.save(person);
}
@GetMapping(value = "/personRemove")
public String removePerson(@RequestParam("id") String id){
personRepository.delete(Integer.parseInt(id));
return "success";
}
家里尽量模块化规范。
+- PorjectRoot
+- domain
| +- Person.java
|
+- service
+-impl
| +- PersonService.java
| +- PersonRepository.java
+- web
| +- PersonController.java
|
分享到:
相关推荐
cpm_jap_R2019a.slx :Matlab R2019a或更高版本的主Simulink文件(请注意,“ R2017b”文件可用于R2017b之后的所有Matlab版本,但建议使用较新的版本以实现更好的兼容性) CP_sf.mexw64 :修改后的CP模型的编译代码...
【标题】:“Descubre-de-Japón:在日本游戏中学习,探索日本的旅游、文化与动漫” 这个项目似乎是一个关于日本文化的互动平台,结合了游戏、旅游、文化和动漫元素,为用户提供了深入了解日本的途径。从“Descubre...
在项目中,可能使用了NoSQL数据库如MongoDB,或者关系型数据库如MySQL,来存储和管理巴士服务的相关数据。JavaScript可以通过ORM(对象关系映射)工具,如Sequelize或Mongoose,方便地与数据库进行交互。 【响应式...
### JSP连接MySQL使用连接池方式详解 #### 一、引言 在现代Web开发中,JSP(Java Server Pages)是一种广泛使用的服务器端技术,用于生成动态网页内容。为了提高应用程序的性能和效率,通常会采用连接池来管理与...
在"jap-master"压缩包中,包含了JAP项目的源代码和相关配置文件。开发者可以通过阅读源码了解其实现细节,或者直接编译部署。部署JAP通常涉及以下步骤:配置认证模块、设置数据库连接、部署服务以及调整安全策略。...
【标题】"jap.rar_jap简单教程"指的是一个关于JAP(可能是Java Application Project)的压缩包资源,其中包含了学习和理解JSP(JavaServer Pages)基础应用的材料。这个教程面向的是初学者,旨在帮助他们入门Web开发...
jpa-spec 在Spring Data JPA之上做扩展,支持原生JPA2规范,极大的简化动态查询语法。 特性 兼容JPA2规范 Equal/NotEqual/Like/In 支持多个参数, Equal/NotEqual 支持Null 值.
JAP 简介 入门知识
网络在线考试jap+struts网络在线考试jap+struts网络在线考试jap+struts网络在线考试jap+struts网络在线考试jap+struts网络在线考试jap+struts网络在线考试jap+struts网络在线考试jap+struts
1. **JDBC基础分页**:使用SQL的`LIMIT`和`OFFSET`(MySQL)或`ROWNUM`(Oracle)等关键字实现分页。但这种方式效率较低,因为`OFFSET`会跳过很多行,当页数增大时,性能下降明显。 2. **JPA(Java Persistence API...
5. **使用Repository**:在业务逻辑层,你可以通过依赖注入的方式使用上述DAO,执行CRUD操作。 6. **事务管理**:对于Java EE应用,你可以使用容器管理的事务;在Java SE应用中,需要手动配置事务管理,如使用`...
《jap网络通讯录addressBook》是一款专为网络通信设计的高效管理工具,它整合了传统的通讯录功能并拓展到了互联网环境中,使用户能够轻松管理和分享自己的联系人信息。在这个数字化时代,有效的通信管理至关重要,而...
在**JPA和JSF集成进行CRUD操作**时,通常会利用JSF的后台Bean(Managed Bean)来处理业务逻辑,而JPA则负责数据库交互。CRUD代表创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)这四种基本的数据操作。 ...
联合会Jap Apparels Pvt的软件/ Web项目。 有限公司,以帮助进行成本核算和维护清洁记录项目类型-Web项目商号-Jap Apparels Pvt。 有限公司系统详情软件功能计算订单的总成本。 根据所选类别(名称,类型等)显示...
可能还会用到HTML、CSS和JavaScript进行前端页面设计,以及数据库技术如MySQL存储数据。UML(统一建模语言)工具,如Visio或Enterprise Architect,用来绘制用况图、顺序图和类图,以可视化地表示系统组件和交互。 ...
在数据库层面,系统可能使用了关系型数据库如MySQL或Oracle来存储教材信息,包括教材名称、作者、出版社、库存等数据。这些数据库连接和操作通常通过Java的JDBC(Java Database Connectivity)API来实现,使得应用...
struts 2.1.8 spring 2.5 jap ext 整合 例子 struts 2.1.8 spring 2.5 jap ext 整合 例子
标题中提到的"jap"可能是Java Applet的缩写,这是一种早期的Java技术,用于在HTML页面中嵌入可执行的Java代码。Java Applet可以用于创建动态菜单,但由于安全性问题和现代浏览器对Applet的支持逐渐减少,这种方式已...
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/test"/> </persistence-unit> ``` #### 五、常见问题及解决方案 ##### 1. 类型转换错误 - **原因**:可能是实体...