springboot spa根据entity类生成表_学习这事不能停,spring boot 集成jpa,spring boot实践(9)...

01 spring boot读取配置信息

02 多环境配置

03 处理全局异常

04 spring boot admin

05 spring mvc + mybatis

06 spring boot 数据校验

07 spring boot 单元测试

08 spring boot 热启动

继续学习,今天通过spring boot集成 jpa 这个orm不知道现在用的人多不多。通常针对简单的后台配置界面我们会用到jpa,毕竟CRUD的基本操作可以省去不少代码量。对于比较复杂的查询的场景用mybatis会多一点。废话不多说,咱们主要是动手,开始~

准备项目

pom.xml文件的修改,这个很重要,主要是引入jpa的依赖,然后还有数据库的驱动和连接池。

org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-thymeleaforg.springframework.boot spring-boot-starter-data-jpaorg.springframework.boot spring-boot-starter-testmysql mysql-connector-javacom.alibaba druid 1.0.9

application.properties的配置,这里主要包括数据库驱动,数据库访问的用户名,密码,数据库连接池。这里打开了ddl的自动化,也就是说先生成了entity,jpa会帮助你在数据库中生成对应的表。并且可以通过log显示sql语句。

29238088cc43497fba4b1736f46d1099
spring.datasource.driverClassName=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/springboottestspring.datasource.username=rootspring.datasource.password=123456spring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.jpa.hibernate.ddl-auto=updatespring.jpa.show-sql=true

代码准备

先来个实体类,这里建立了一个students的实体类,需要注意的是定义的几个annotation

Entity:定义实体类

Table:对应要生成的表

Id:,GeneratedValue:这里定义id作为自增长

Column:定义字段

c2d949d88adb46a2b61fe83d0ea9aac5
@Entity@Table(name="students")public class students { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="id") private Integer id; @Column(name="name") private String name; @Column(name="age") private Integer age; @Column(name="address") private String address; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; }}

再来个数据库访问层吧

e2625ef428f7446d8793e3103795d7bd

这里注意集成自JpaRepository,两个参数分别是实体类的类型和OID的类型

/** * 参数一 T :当前需要映射的实体 * 参数二 ID :当前映射的实体中的OID的类型,这里的OID在students中就是自增长的那个ID的类型 * */public interface StudentsRepository extends JpaRepository {}

测试结果

来个测试类吧,测试方便一点。

f4891658eab043a391ce7d808a3fd01d
@RunWith(SpringJUnit4ClassRunner.class)@SpringBootTest(classes=DemoSpringbootSpringmvcMybatisApplication.class)public class StudentsRepositoryTest { @Autowired private StudentsRepository studentsRepository; @Test public void testSave(){ students st = new students(); st.setAddress("address"); st.setName("test"); st.setAge(12); this.studentsRepository.save(st); }}

这里注意打上RunWith和SpringBootTest的annotation,引入dao类以后就可以开始测试了。

现在数据库中是不存在students的table的运行以后就应该生成这个table并且插入一条记录进去。

57bebb8f73844fe794d1bc1a184e4211

搞完收工,喜欢就关注我。谢谢各位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值