废话不多说,直接上代码
pom.xml
<!--
spring boot 父节点依赖,
引入这个之后相关的引入就不需要添加version配置,
spring boot会自动选择最合适的版本进行添加。
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<!-- spring boot web支持:mvc,aop... -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- spring data jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- 内存数据库hsqldb -->
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
启动App.java
package cn.com.zjq;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
实体Demo.java
package cn.com.zjq.entity;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Demo {
@Id@GeneratedValue
private Long id;
private String name;
private int age;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
dao层DemoDao.java
package cn.com.zjq.dao;
import org.springframework.data.repository.CrudRepository;
import cn.com.zjq.entity.Demo;
public interface DemoDao extends CrudRepository<Demo, Long>{
Demo findByName(String name);
}
测试DemoController.java
package cn.com.zjq.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.com.zjq.dao.DemoDao;
import cn.com.zjq.entity.Demo;
@RestController
public class DemoController {
@Autowired
private DemoDao demoDao;
@RequestMapping("save")
public String save(){
Demo demoInfo = new Demo();
demoInfo.setName("张三");
demoInfo.setAge(20);
demoDao.save(demoInfo);
demoInfo = new Demo();
demoInfo.setName("李四");
demoInfo.setAge(30);
demoDao.save(demoInfo);
return "ok";
}
@RequestMapping("find")
public List<Demo> find(){
return (List<Demo>) demoDao.findAll();
}
@RequestMapping("findByName")
public Demo findByName(){
return demoDao.findByName("张三");
}
}
重要说明
以上配置项目关闭,数据则消失,添加以下配置到配置文件,可存入本地:
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
spring.datasource.url = jdbc\:hsqldb\:file\:D\:\\test\\testdb2
#spring.datasource.url = jdbc:h2:file:~/.h2/testdb
spring.datasource.username = sa
spring.datasource.password = sa
spring.datasource.driverClassName =org.hsqldb.jdbcDriver
spring.jpa.show-sql = true 显示sql语句
spring.jpa.hibernate.ddl-auto = update 这个必须加,每次启动对应实体