本文介绍了springboot集成jpa的示例代码,分享给大家,具体如下:
1.创建新的maven项目
2. 添加必须的依赖
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<!--springboot的必须依赖-->
<parent>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-parent</artifactid>
<version> 1.5 . 9 .release</version>
</parent>
<dependencies>
<!--启动springmvc的相关配置,springboot的自动配置-->
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-web</artifactid>
</dependency>
<!--jpa-->
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-data-jpa</artifactid>
</dependency>
<!--mysql驱动-->
<dependency>
<groupid>mysql</groupid>
<artifactid>mysql-connector-java</artifactid>
</dependency>
</dependencies>
|
3. 新建springboot启动类
1
2
3
4
5
6
7
8
9
|
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
@springbootapplication
public class application {
public static void main(string[] args) {
springapplication.run(application. class ,args);
}
}
|
4. 在resources跟目录下新建application.properties
1
2
3
4
5
6
7
8
|
#建立/更新数据表的配置
spring.jpa.hibernate.ddl-auto=update
#数据库地址
spring.datasource.url=jdbc:mysql: //localhost:3306/qian?useunicode=true&characterencoding=utf-8
#数据库用户名
spring.datasource.username=root
#数据库密码
spring.datasource.password= 123
|
- update:hibernate根据给定的entity结构改变数据库。
- create: 每次都会创建数据库,关闭时不会删除
- none: mysql的默认设置 , 不改变数据结构
- create-drop: 创建数据库,但是每次sessionfactory关闭后都会删除
5. 新建实体类user
这个时候其实已经可以启动springboot, 但是不会生成数据表,因为还没有配置实体类的jpa
先新建user.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
import org.hibernate.annotations.genericgenerator;
import javax.persistence.entity;
import javax.persistence.generatedvalue;
import javax.persistence.id;
/**
* created by andy on 2018/1/20.
*/
//表明这是个需要生成数据表的类
@entity
public class user {
// 定义主键id
@id
// 声明一个策略通用生成器,name为”system-uuid”,策略strategy为”uuid”。
@genericgenerator (name = "system-uuid" , strategy = "uuid" )
// 用generator属性指定要使用的策略生成器。
@generatedvalue (generator = "system-uuid" )
private string id;
private string name;
private integer age;
private boolean sex;
public string getid() {
return id;
}
public void setid(string id) {
this .id = id;
}
public string getname() {
return name;
}
public void setname(string name) {
this .name = name;
}
public integer getage() {
return age;
}
public void setage(integer age) {
this .age = age;
}
public boolean getsex() {
return sex;
}
public void setsex( boolean sex) {
this .sex = sex;
}
}
|
这时候启动项目,就会在指定位置下生成一个user数据表
6. 实现crud
crudrepository是一个提供了普通增删改查方法的接口,由spring内部提供,我们只需调用即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@norepositorybean
public interface crudrepository<t, id extends serializable> extends repository<t, id> {
<s extends t> s save(s var1);
<s extends t> iterable<s> save(iterable<s> var1);
t findone(id var1);
boolean exists(id var1);
iterable<t> findall();
iterable<t> findall(iterable<id> var1);
long count();
void delete(id var1);
void delete(t var1);
void delete(iterable<? extends t> var1);
void deleteall();
}
|
新建userrepository.java
1
2
3
|
public interface userrepository extends crudrepository<user, string> {
}
|
7. 实现controller控制
新建usercontroller.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
@restcontroller
public class usercontroller {
@autowired
private userrepository userrepository;
@requestmapping ( "/add" )
public user add(string name){
user user = new user();
user.setname(name);
return userrepository.save(user);
}
@requestmapping ( "/list" )
public iterable<user> list(){
iterable<user> all = userrepository.findall();
return all;
}
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://my.oschina.net/u/3490860/blog/1610121