之前一直用的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. CentOS7搭建KMS服务器

    使用vlmcsd搭建KMS服务器 1.下载vlmcsd: wget https://github.com/Wind4/vlmcsd/releases/download/svn1111/binaries ...

  2. HDU-4055 Number String 动态规划 巧妙的转移

    题目链接:https://cn.vjudge.net/problem/HDU-4055 题意 给一个序列相邻元素各个上升下降情况('I'上升'D'下降'?'随便),问有几种满足的排列. 例:ID 答: ...

  3. uva 1585 Score(Uva-1585)

    vj:https://vjudge.net/problem/UVA-1585 不多说水题一个o一直加x就加的变为0 我的代码 #include <iostream> #include &l ...

  4. BZOJ 1016 最小生成树计数 【模板】最小生成树计数

    [题解] 对于不同的最小生成树,每种权值的边使用的数量是一定的,每种权值的边的作用是确定的 我们可以先做一遍Kruskal,求出每种权值的边的使用数量num 再对于每种权值的边,2^num搜索出合法使 ...

  5. 用Twebbrowser做可控编辑器与MSHTML(插入表格)

    在插入表格问题上出现与结果想象不一样的问题.看代码 <table border="1" cellpadding="0" width="100%& ...

  6. textarea 提交到数据库的内容,输出到 html 中显示正常的格式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. POJ 1190 生日蛋糕 剪枝

    Description 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri ...

  8. Codeforces Round #418 (Div. 2) C. An impassioned circulation of affection

    C. An impassioned circulation of affection time limit per test 2 seconds memory limit per test 256 m ...

  9. 在Hibernate中使用Memcached作为一个二级分布式缓存

    转自:http://www.blogjava.net/xmatthew/archive/2008/08/20/223293.html   hibernate-memcached--在Hibernate ...

  10. device busy

    在mount的时候经常会有device busy,这通常是因为该目录被某个用户或者进程使用.这时候可以用如下命令: fuser mount point 来看一下该mount point被哪个进程占用. ...