之前一直用的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 自动生成的更多相关文章

  1. spring boot 自动生成mybatis代码

    1)在pom.xml中增加generator插件 <!--自动生成mybaits--> <plugin> <groupId>org.mybatis.generato ...

  2. spring mvc 自动生成代码

    generator mybaits 详细配置: 目录结构 执行命令 OK git:https://gitee.com/xxoo0_297/generator.git

  3. 使用Spring Data JPA的Spring Boot

    本文教你开始使用Spring Data JPA.来自优锐课JAVA架构专业讲师精心整理. 欢迎使用带有Spring Data JPA的Spring Boot教程!在本教程中,我们将看到Spring D ...

  4. Spring Data学习(一):初识

    目录 前言 添加Spring Data 配置pom.xml 配置数据库相关信息(application.properties) 配置数据库信息 配置自动根据实体类在数据库创建表 创建User.java ...

  5. 【Spring】—— 自动装配

    一.Spring中装配bean的方式 1.在XML中显式配置 2.在Java中进行显式配置 3.隐士的bean发现机制和自动装配 二.自动装配示例 1.在需要装配到其他bean中的类中加入@Compo ...

  6. Spring boot入门(三):SpringBoot集成结合AdminLTE(Freemarker),利用generate自动生成代码,利用DataTable和PageHelper进行分页显示

    关于SpringBoot和PageHelper,前篇博客已经介绍过Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件,前篇博客大致讲述了S ...

  7. Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据

    一.简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: 问题一.后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 问题二 ...

  8. Spring Data JPA系列5:让IDEA自动帮你写JPA实体定义代码

    大家好,又见面了. 这是本系列的最后一篇文档啦,先来回顾下前面4篇: 在第1篇<Spring Data JPA系列1:JDBC.ORM.JPA.Spring Data JPA,傻傻分不清楚?给你 ...

  9. webservice 服务端例子+客户端例子+CXF整合spring服务端测试+生成wsdl文件 +cxf客户端代码自动生成

    首先到CXF官网及spring官网下载相关jar架包,这个不多说.webservice是干嘛用的也不多说. 入门例子 模拟新增一个用户,并返回新增结果,成功还是失败. 大概的目录如上,很简单. Res ...

随机推荐

  1. 初学者怎么才能快速学会Python?

    提起对Python的印象,除了全能之外恐怕就是简单易学了.很多人都在推荐新手学Python入门,毕竟语法简单.语句简洁,所谓“人生苦短我用Python”绝不是一句空话.不过也不能忽视一点:Python ...

  2. Linux快速入门教程-进程管理ipcs命令学习

    使用Linux系统必备的技能之一就是Linux进程管理,系统运行的过程正是无数进程在运行的过程.这些进程的运行需要占用系统的内存等资源,做好系统进程的管理,对于我们合理分配.使用系统资源有非常大的意义 ...

  3. SqlServer 【基 本 操 作】

    1.Row_Number() select * from (select Row_Number() over (order by FSalary) as 'RowNum' ,* from dbo.T_ ...

  4. do{}while(0)

    有时会在源码中或在写代码时在宏定义中用到do...while(0). 采用这种方式进行宏定义, 主要是为了防止出现以下错误 : do{}while(0) 空的宏定义避免出现warnning. #def ...

  5. 基于Arduino的音乐动感节奏灯

    1.音乐动感节奏灯是个什么东西? 前段时间听音乐觉得无聊,便想着音乐光听也没意思啊,能不能 “看见” 音乐呢?于是谷歌了一番,发现还真有人做了将音乐可视化的东西,那就是音乐节奏灯.说的简单点就是LED ...

  6. 爬虫文件存储-3:Redis

    前提条件: 安装并运行redis服务端程序,安装RedisPy库 说明:Redis 是 StrictRedis 的子类,它的主要功能是用于向后兼容旧版本库里的几个方法,官方推荐使用 StrictRed ...

  7. ubuntu18.04安装chrome浏览器

    前几天把系统弄崩溃了,弄了好久也没弄好,索性直接装18.04,下面是安装chrom浏览器的步骤,网络上照着16.04安装的,应该是一样的 启动终端. 输入以下命令: sudo wget http:// ...

  8. deepin下使用python遇到的一些情况

    1.系统自带python2.7和python3.5,直接运行python默认的是2.7版本的 当然直接运行python的默认版本是可以修改的,参考这里 然后可能需要3.6版本的话,就直接在命令行输入 ...

  9. CODEVS1079 回家 (最短路)

    真是语死早,题目看了两遍才看懂. 按照题目要求建边,从'Z'开始跑最短路即可. Program CODEVS1079; ..,..] of longint; d:..] of longint; pd: ...

  10. [bzoj3126][USACO2013]Photo_动态规划_单调队列

    Photo bzoj-3126 题目大意:给你一个n长度的数轴和m个区间,每个区间里有且仅有一个点,问最多能有多少个点. 注释:$1\le n \le 2\cdot 10^5$,$1\le m\le1 ...