jpa实现mysql数据库表自动生成

1.创建实体类

@Data
@Entity
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "银行匹配表")
@Table(name = "bank_trait")
public class BankTrait implements Serializable {

    @Id
    @Column(name = "CODE")
    @NotEmpty(message = "标签名不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty(value = "标签名", required = true)
    private String code;


    @Column(name = "NAME")
    @NotEmpty(message = "匹配字段不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty(value = "匹配字段", required = true)
    private String name;
}

2.pom.xml 添加依赖(只在生成表时使用,其他时候注掉)

            <!--<plugin>
                <groupId>com.mysema.maven</groupId>
                <artifactId>apt-maven-plugin</artifactId>
                <version>1.1.3</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>target/generated-sources/java</outputDirectory>
                            <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

3.ddl-auto 改成update(默认是none即不生成) 如果已经有表了建议不要改,因为会把表改掉

jpa:
    database: MYSQL
    show-sql: true
    hibernate:
      ddl-auto: update

4.先clean再compile,会生成qBankTrait
在这里插入图片描述

5.install之后吧q开头的文件复制到实体类的地方,在这个com文件夹下
在这里插入图片描述

6.把依赖注掉 ,运行项目 就可以生成表了 生成完记得吧pro里配置的ddl改成none(没把none改成true就不用动了)

在使用JPA生成MYSQL数据库时,可以设置的默认排序规则。MYSQL的默认排序规则取决于服务器的配置,一般情况下,MYSQL的默认排序规则是utf8mb4_general_ci。 要设置JPA生成MYSQL数据库的排序规则,可以在application.properties或application.yml文件中添加以下配置: ``` spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8mb4&serverTimezone=Asia/Shanghai&useSSL=false spring.datasource.username=root spring.datasource.password=123456 spring.jpa.hibernate.ddl-auto=create-drop spring.jpa.show-sql=true spring.jpa.properties.hibernate.hbm2ddl.charset=utf8mb4 spring.jpa.properties.hibernate.connection.CharSet=utf8mb4 spring.jpa.properties.hibernate.connection.useUnicode=true spring.jpa.properties.hibernate.connection.characterEncoding=utf-8 ``` 其中,spring.jpa.database-platform和spring.jpa.properties.hibernate.dialect都指定了使用的数据库方言,这里使用的是MySQL8Dialect。spring.jpa.properties.hibernate.connection.CharSet、spring.jpa.properties.hibernate.connection.useUnicode和spring.jpa.properties.hibernate.connection.characterEncoding指定了数据库的字符编码和字符集。spring.jpa.properties.hibernate.hbm2ddl.charset指定了DDL生成文件的编码,这里也设置为utf8mb4。最后,需要在数据库连接字符串中添加useUnicode=true和characterEncoding=utf8mb4,确保JPA能够正确地处理UTF-8编码的字符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andrew0219

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值