本文介绍了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