Spring Data 自动生成
之前一直用的mybatis逆向自动生成,由于最近学习springdata,所以看了一下springdata的自动生成,基本与mybatis一致,不同的也许就是逆向生成代码(实体类,mapper等)和正向生成数据库
不多逼逼,直接上代码吧
1.添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2.在配置文件中配置生成策略
server:
port: 8081 #设置端口
tomcat:
uri-encoding: utf-8 spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/tourist?characterEncoding=utf8&useSSL=false
username: root
password: 123456
jpa:
hibernate:
ddl-auto: update #配置自动建表:updata:没有表新建,有表更新操作,控制台显示建表语句
show-sql: true #是否显示sql
关于生成策略,有四种,一般都会用update
create----每次运行该程序,没有表格会新建表格,表内有数据会清空
create-drop----每次程序结束的时候会清空表
update----每次运行程序,没有表格会新建表格,表内有数据不会清空,只会更新
validate----运行程序会校验数据与数据库的字段类型是否相同,不同会报错
3.创建Bean实体类
package com.sunarmy.cn.entity; import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; /**
* Created by SunArmyon 2018/8/24.
*/
@Entity //声明一个实体类
@Table(name = "user") //映射的表的名称
public class User {
/**
* id 唯一不重复
* 声明主键
* 声明主键的生成策略
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY,generator = "system-uuid")
@GenericGenerator(name = "system-uuid",strategy = "uuid.hex")
String id; /**
* 用户名
*/
@Column(name = "username")
String username; /**
* 密码
*/
@Column(name = "password")
String password; /**
* 盐
*/
@Column(name = "salt")
String salt; /**
* Token
*/
@Column(name = "token")
String token;
/**
* 手机号
*/
@Column(name = "mobile",length = 11)
Long mobile; /**
* 创建时间
* @return
*/
@Column(name = "create_date")
Long createdate; /**
* 最后修改时间
*/
@Column(name = "last_modified_time")
Long lastmodifiedtime; public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getSalt() {
return salt;
} public void setSalt(String salt) {
this.salt = salt;
} public String getToken() {
return token;
} public void setToken(String token) {
this.token = token;
} public Long getMobile() {
return mobile;
} public void setMobile(Long mobile) {
this.mobile = mobile;
} public Long getCreatedate() {
return createdate;
} public void setCreatedate(Long createdate) {
this.createdate = createdate;
} public Long getLastmodifiedtime() {
return lastmodifiedtime;
} public void setLastmodifiedtime(Long lastmodifiedtime) {
this.lastmodifiedtime = lastmodifiedtime;
}
}
点击查看代码
4.启动项目查看数据库
注意看,因为在配置中设置了show-sql: true 启动的时候会在控制台打印出建表的sql
然后查看数据库发现表已经生成了
至此,自动生成已经完成了,关于表中字段各个属性配置后期再做补充
如果有什么问题,或者哪里有误,请大神们指出,小弟不胜惶恐
Spring Data 自动生成的更多相关文章
- spring boot 自动生成mybatis代码
1)在pom.xml中增加generator插件 <!--自动生成mybaits--> <plugin> <groupId>org.mybatis.generato ...
- spring mvc 自动生成代码
generator mybaits 详细配置: 目录结构 执行命令 OK git:https://gitee.com/xxoo0_297/generator.git
- 使用Spring Data JPA的Spring Boot
本文教你开始使用Spring Data JPA.来自优锐课JAVA架构专业讲师精心整理. 欢迎使用带有Spring Data JPA的Spring Boot教程!在本教程中,我们将看到Spring D ...
- Spring Data学习(一):初识
目录 前言 添加Spring Data 配置pom.xml 配置数据库相关信息(application.properties) 配置数据库信息 配置自动根据实体类在数据库创建表 创建User.java ...
- 【Spring】—— 自动装配
一.Spring中装配bean的方式 1.在XML中显式配置 2.在Java中进行显式配置 3.隐士的bean发现机制和自动装配 二.自动装配示例 1.在需要装配到其他bean中的类中加入@Compo ...
- Spring boot入门(三):SpringBoot集成结合AdminLTE(Freemarker),利用generate自动生成代码,利用DataTable和PageHelper进行分页显示
关于SpringBoot和PageHelper,前篇博客已经介绍过Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件,前篇博客大致讲述了S ...
- Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据
一.简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: 问题一.后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 问题二 ...
- Spring Data JPA系列5:让IDEA自动帮你写JPA实体定义代码
大家好,又见面了. 这是本系列的最后一篇文档啦,先来回顾下前面4篇: 在第1篇<Spring Data JPA系列1:JDBC.ORM.JPA.Spring Data JPA,傻傻分不清楚?给你 ...
- webservice 服务端例子+客户端例子+CXF整合spring服务端测试+生成wsdl文件 +cxf客户端代码自动生成
首先到CXF官网及spring官网下载相关jar架包,这个不多说.webservice是干嘛用的也不多说. 入门例子 模拟新增一个用户,并返回新增结果,成功还是失败. 大概的目录如上,很简单. Res ...
随机推荐
- 四次挥手与tcp标志位
鉴于tcp的标志位可以同时置位,在相应端无数据传输时,四次握手可以用三次报文完成.
- CPU内部组成及原理
CPU,Central Processing Unit,翻译过来叫中央处理器.是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit).电脑中所有操作都由C ...
- 04 学习java养成良好的写作习惯
1, 驼峰命名法 首字母大写 2, 写的时候大小中括号都补全,不忘记分号 不要都放在一行上 3, 缩进对其,tab键 4, 严格要求自己,养成良好的写作风格 5, javadoc可以将文档注释,直接生 ...
- [forward] cmake, CMakeLists.txt梳理
cmake intro 原文请见 cmake使用总结(转)-工程主目录CMakeList文件编写 在 Linux 下进行开发很多人选择编写 makefile 文件进行项目环境搭建,而makefile ...
- js里的深度克隆
ES6 数组克隆 let arr = [1,2,3,4,5]; let arr1 = [...a]; arr1 = ["a","b","c" ...
- git对vue项目进行版本管理
生成本地仓库 步骤一:git init 步骤二:git add * 步骤三:git commit -m 'init team' 创建远程仓库 new responstory 复制关联代码的命令 将本地 ...
- 蓝桥-区间K大数查询
问题描述: 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个 ...
- Entertainment Box Gym100781E(数据结构+贪心)
Entertainment Box 题意: 有n个节目,每个节目给出开始时间(st)和结束时间(en): 有k个内存条这k个内存条可以同时存储节目.如果节目j的开始时间stj 大于等于节目i的结束时 ...
- Shell脚本备份文件
使用crontab 定时备份文件 1. 编辑crontab规则 2. 编写shell脚本 cp -R "/data/www/code" "/home/backup/cod ...
- js调用ro的webservice
Enabling JavaScript Access on the Server Drop the JavaScriptHttpDispatcher component onto the server ...