之前一直用的mybatis逆向自动生成,由于最近学习springdata,所以看了一下springdata的自动生成,基本与mybatis一致,不同的也许就是逆向生成代码(实体类,mapper等)和正向生成数据库

不多逼逼,直接上代码吧

1.添加依赖

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-data-jpa</artifactId>
  4. </dependency>

2.在配置文件中配置生成策略

  1. server:
  2. port: 8081 #设置端口
  3. tomcat:
  4. uri-encoding: utf-8
  5.  
  6. spring:
  7. datasource:
  8. driver-class-name: com.mysql.jdbc.Driver
  9. url: jdbc:mysql://localhost:3306/tourist?characterEncoding=utf8&useSSL=false
  10. username: root
  11. password: 123456
  12. jpa:
  13. hibernate:
  14. ddl-auto: update #配置自动建表:updata:没有表新建,有表更新操作,控制台显示建表语句
  15. show-sql: true #是否显示sql

关于生成策略,有四种,一般都会用update

create----每次运行该程序,没有表格会新建表格,表内有数据会清空

create-drop----每次程序结束的时候会清空表

update----每次运行程序,没有表格会新建表格,表内有数据不会清空,只会更新

validate----运行程序会校验数据与数据库的字段类型是否相同,不同会报错

3.创建Bean实体类

  1. package com.sunarmy.cn.entity;
  2.  
  3. import org.hibernate.annotations.GenericGenerator;
  4.  
  5. import javax.persistence.*;
  6.  
  7. /**
  8. * Created by SunArmyon 2018/8/24.
  9. */
  10. @Entity //声明一个实体类
  11. @Table(name = "user") //映射的表的名称
  12. public class User {
  13. /**
  14. * id 唯一不重复
  15. * 声明主键
  16. * 声明主键的生成策略
  17. */
  18. @Id
  19. @GeneratedValue(strategy = GenerationType.IDENTITY,generator = "system-uuid")
  20. @GenericGenerator(name = "system-uuid",strategy = "uuid.hex")
  21. String id;
  22.  
  23. /**
  24. * 用户名
  25. */
  26. @Column(name = "username")
  27. String username;
  28.  
  29. /**
  30. * 密码
  31. */
  32. @Column(name = "password")
  33. String password;
  34.  
  35. /**
  36. * 盐
  37. */
  38. @Column(name = "salt")
  39. String salt;
  40.  
  41. /**
  42. * Token
  43. */
  44. @Column(name = "token")
  45. String token;
  46. /**
  47. * 手机号
  48. */
  49. @Column(name = "mobile",length = 11)
  50. Long mobile;
  51.  
  52. /**
  53. * 创建时间
  54. * @return
  55. */
  56. @Column(name = "create_date")
  57. Long createdate;
  58.  
  59. /**
  60. * 最后修改时间
  61. */
  62. @Column(name = "last_modified_time")
  63. Long lastmodifiedtime;
  64.  
  65. public String getId() {
  66. return id;
  67. }
  68.  
  69. public void setId(String id) {
  70. this.id = id;
  71. }
  72.  
  73. public String getUsername() {
  74. return username;
  75. }
  76.  
  77. public void setUsername(String username) {
  78. this.username = username;
  79. }
  80.  
  81. public String getPassword() {
  82. return password;
  83. }
  84.  
  85. public void setPassword(String password) {
  86. this.password = password;
  87. }
  88.  
  89. public String getSalt() {
  90. return salt;
  91. }
  92.  
  93. public void setSalt(String salt) {
  94. this.salt = salt;
  95. }
  96.  
  97. public String getToken() {
  98. return token;
  99. }
  100.  
  101. public void setToken(String token) {
  102. this.token = token;
  103. }
  104.  
  105. public Long getMobile() {
  106. return mobile;
  107. }
  108.  
  109. public void setMobile(Long mobile) {
  110. this.mobile = mobile;
  111. }
  112.  
  113. public Long getCreatedate() {
  114. return createdate;
  115. }
  116.  
  117. public void setCreatedate(Long createdate) {
  118. this.createdate = createdate;
  119. }
  120.  
  121. public Long getLastmodifiedtime() {
  122. return lastmodifiedtime;
  123. }
  124.  
  125. public void setLastmodifiedtime(Long lastmodifiedtime) {
  126. this.lastmodifiedtime = lastmodifiedtime;
  127. }
  128. }

点击查看代码

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. VBA中Option的四种用法

    1.Option Explicit.当使用Option Explicit时,必须在模块中的所有过程声明每一个变量,否则会出现语法错误并不能被编译.这样做的好处是,它能消除程序中因为错拼变量名而导致程序 ...

  2. day03-执行python方式、变量及数据类型简介

    目录 执行Python程序的两种方式 1. 第一种:交互式 2. 第二种:命令式 3. Python执行程序的三个阶段 变量 变量 什么是变量 Python中的变量 变量名的命名规范 内存管理 定义变 ...

  3. JavaScript day3(运算符)

    运算符(operator) 基本运算符: 算术运算符用于执行变量之间的算术运算,给定 y=5: 运算符 描述 例子 结果 + 加 x=y+2 x=7 - 减 x=y-2 x=3 * 乘 x=y*2 x ...

  4. Django REST framework 渲染器、版本

    渲染器.版本: # settings.py REST_FRAMEWORK = { "DEFAULT_RENDERER_CLASSES": [ "rest_framewor ...

  5. js中阻止事件冒泡和浏览器默认行为

    在使用javascript编程时会遇到一个问题,就是当你给html添加事件时,由于浏览器默认的为冒泡型事件触发机制,所以会触发你不想触发的事件.那么通过如下的函数可以解决这个问题.[兼容IE和FF] ...

  6. ubuntu16.04 安装 eclipse

    从官网下载 eclipse 的 linux 版本 eclipse-cpp-neon-1a-linux-gtk-x86_64.tar.gz 直接解压就能得到一个可运行的IDE,但是直接点击 eclips ...

  7. JavaScript进阶----关于数字的方法,Math对象,日期对象,定时器,函数,for in

    关于数字的方法: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. web开发如何使用高德地图API(四)通过AMap.Marker自定义标点

    说两句: 以下内容除了我自己写的部分,其他部分在高德开放平台都有(可点击外链访问). 我所整理的内容以实际项目为基础希望更有针对性的,更精简. 点击直奔主题. 准备工作: 首先,注册开发者账号,成为高 ...

  9. E. Rusty String

    E. Rusty String time limit per test 3 seconds memory limit per test 512 megabytes input standard inp ...

  10. js es6 Object.freeze

    将对象冻结,使用Object.freeze方法 const foo = Object.freeze({}); // 常规模式时,下面一行不起作用: // 严格模式时,该行会报错 foo.prop = ...