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 ...
随机推荐
- Origin C调用NAG库
NAG(Numerical Algorithms Group, www.nag.com)库是一个无与伦比的算法库,它提供的算法可靠.轻便.严谨,覆盖了数学与统计方方面面.最大的缺点就是:它是一个收费的 ...
- Python 连接数据库 day5
import pymysql #连接数据库,port必须是int型,字符编码是utf8,不能是utf-8,password必须是字符串 conn = pymysql.connect(host=', d ...
- SQL一对多取子表最新记录的所有字段(ROW_NUMBER()OVER()函数的应用)
ROW_NUMBER()OVER() 参数1:分组字段 PARTITION BY ..,..,.... 可选 参数2:排序字段 ORDER BY .. DESC 必须 实例: 根据Confir ...
- 原始js表单文本框初始化获取焦点和选中
发现: 1 使用dom对象.focus() 放在 window.onload 时可以 让这个DOM对象获取焦点. 2 使用DOM对象.select() 可以选中文本框中的文字. 3 不要加上on , ...
- 面向对象:classmethod、staticmethod、property
一.classmethod(类方法).staticmethod(静态方法) 方法包括:普通方法.类方法和静态方法,三种方法在内存中都归属于类,区别在于调用方式不同. # 普通方法 由对象调用,至少一个 ...
- 00.不规则json序列化使用eval、demjson
有下面一段字符串 import json str0 = '[{"name":"白云大道营业厅","siteaddr":"x...& ...
- Codeforces 919C - Seat Arrangements
传送门:http://codeforces.com/contest/919/problem/C 给出一张n×m的座位表(有已占座位和空座位),请选择同一行(或列)内连续的k个座位.求选择的方法数. H ...
- hdu2008 数值统计【C++】
数值统计 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 使用MySQLMigrationToolkit快速将Oracle数据导入MySQL
使用MySQL Migration Toolkit快速将Oracle数据导入MySQL 上来先说点废话 本人最近在学习一些数据库方面的知识,之前接触过Oracle和MySQL,最近又很流行MongoD ...
- 洛谷 P1348 Couple number
题目描述 任何一个整数N都能表示成另外两个整数a和b的平方差吗?如果能,那么这个数N就叫做Couple number.你的工作就是判断一个数N是不是Couple number. 输入输出格式 输入格式 ...