mysql 1292 jpa_mysql+jpa简单实现步骤

首先,我们用的开发工具是IDEA,数据库是mysql,以下是步骤:

1、我们需要在pom.xml加入mysql和jpa的依赖

org.springframework.boot

spring-boot-starter-data-jpa

mysql

mysql-connector-java

2、在application.properties配置连接数据库和jpa

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

#springEmployee这个数据库仓库你必须先前创建好,也就是需要创建一个schemas,characterEncoding=utf-8中文乱码

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springEmployee?serverTimezone=GMT%2b8&characterEncoding=utf-8

spring.datasource.username=root #用户

spring.datasource.password=123456#密码

#第一次使用create代表着第一次执行的时候需要创建表,创完表之后记得改成update,不然之前插入的数据又会清空

spring.jpa.hibernate.ddl-auto=create

spring.jpa.show-sql=true #显示sql语句

3、在root这个用户下创建数据库(springEmployee),我们这里是使用自带的

59d8362e89c77860cad3167f02013b68.png

右键就可以创建schemas,看到它为什么是加粗的了吧,是的需要设置为默认,对着它右键set as default schema。

a3c5d4c5b16524cb9ba6e3d62b7e896e.png

4、需要创建一个实体类,也就是你需要创建这个的表名和属性,类名=表名,类属性=表属性,加上注解@Entity,id设置为自动增长

@Entitypublic classEmployee {

@Id

@GeneratedValueprivateInteger id;privateString name;privateString office;privateInteger age;privateDate hiredate;private Double salary;

5、建接口MyRepository,extends JpaRepository,第一个参数实体类名,第二个参数id类型

public interface MyRepository extends JpaRepository{

}

6、接着你就可以使用了,每次使用时自动注入,我这里就举例一查询所以员工,把查询到的员工放到请求域中,后面使用

@Controllerpublic classEmpController {

@AutowiredprivateMyRepository repository;/*** 返回员工列表页面

*@return

*/@GetMapping("/emps")publicString tables(ModelMap map){

List list =repository.findAll();

map.addAttribute("emps", list);//thymeleaf 自动拼凑//classpath:templats/xxx.html

return "/emp/tables";

}

}

新手一个,有什么不对的地方还请多多指教。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Data JPA中,可以使用`@GeneratedValue`注解来生成主键。默认情况下,它会使用自增长的方式生成主键,但是可以通过指定`strategy`属性来实现其他方式的主键生成。 可以自定义主键生成策略,使其生成字母和数字的随机主键。 首先,创建一个自定义主键生成器类,继承`org.hibernate.id.UUIDGenerator`类,重写`generate`方法,使用`random_alphanumeric`函数生成主键: ``` import org.hibernate.HibernateException; import org.hibernate.engine.spi.SharedSessionContractImplementor; import org.hibernate.id.UUIDGenerator; import java.io.Serializable; public class RandomAlphanumericUUIDGenerator extends UUIDGenerator { @Override public Serializable generate(SharedSessionContractImplementor session, Object object) throws HibernateException { return StringUtils.replace(random_alphanumeric(32), "-", ""); } private static String random_alphanumeric(int length) { String chars_str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; StringBuilder sb = new StringBuilder(); for (int i = 0; i < length; i++) { int index = (int) Math.floor(Math.random() * chars_str.length()); sb.append(chars_str.charAt(index)); } return sb.toString(); } } ``` 然后,在实体类的主键字段上,使用`@GeneratedValue`注解指定使用自定义主键生成器类,例如: ``` import javax.persistence.*; @Entity public class MyEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "random_alphanumeric_uuid") @GenericGenerator(name = "random_alphanumeric_uuid", strategy = "com.example.RandomAlphanumericUUIDGenerator") private String id; // other fields and methods... } ``` 这样,在使用Spring Data JPA保存实体时,就会使用自定义的主键生成器生成字母和数字的随机主键了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值