1.创建maven项目
不详细描述创建步骤
2.引入hebinate的pom依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>3.配置application.propertiesspring.datasource.url = jdbc:mysql://localhost:3306/UserDataspring.datasource.username = root
UserData为数据库名######################################################## ###datasource ######################################################## spring.datasource.url = jdbc:mysql://localhost:3306/UserData spring.datasource.username =root spring.datasource.password = root spring.datasource.driverClassName = com.mysql.jdbc.Driver spring.datasource.max-active=20 spring.datasource.max-idle=8 spring.datasource.min-idle=8 spring.datasource.initial-size=10 ######################################################## ### Java Persistence Api ######################################################## # Specify the DBMS spring.jpa.database = MYSQL # Show or not log for each sql query spring.jpa.show-sql = true # Hibernate ddl auto (create, create-drop, update) spring.jpa.hibernate.ddl-auto = create-drop # Naming strategy #[org.hibernate.cfg.ImprovedNamingStrategy #org.hibernate.cfg.DefaultNamingStrategy] spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy # stripped before adding them to the entity manager) spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.MySQL5Diale
4.创建entity类
package com.zwd.core.entity; import javax.persistence.*; @Entity @Table(name= "province") public class Province { @Id @GeneratedValue private Integer id; @Column(name = "code") private String code; @Column(name = "name") private String name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getCode() { return code; } public void setCode(String code) { this.code = code == null ? null : code.trim(); } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } }
5.创建dao接口
CrudRepository自带一些简单的保存,查找方法,所有我们不写方法,如果你想写一些复杂的存储关系,可以在这个接口里面使用@Query自定义方法。package com.zwd.core.mappers; import com.zwd.core.entity.Province; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; import javax.persistence.Table; public interface ProvinceMapper extends JpaRepository<Province,Long>{ }
6.创建service和serviceimpl用于逻辑处理
package com.zwd.core.service; import com.zwd.core.entity.Province; public interface ProvinceService { public String add(Province province); Province find(int id); }
package com.zwd.core.serviceImpl; import com.zwd.core.entity.Province; import com.zwd.core.mappers.ProvinceMapper; import com.zwd.core.service.ProvinceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.validation.constraints.Null; @Service public class ProServiceImpl implements ProvinceService { @Autowired private ProvinceMapper provinceMapper; @Override public String add(Province province) { if(provinceMapper.save(province)== null) { return "添加失败"; }; return "添加成功"; } @Override public Province find(int id) { return provinceMapper.findOne(Long.valueOf(id)); } }
6.controller类的创建package com.zwd.core.controller; import com.zwd.core.entity.Province; import com.zwd.core.mappers.ProvinceMapper; import com.zwd.core.service.ProvinceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @ReController @EnableAutoConfiguration @RequestMapping("/province") public class ProvinceController { @Autowired private ProvinceService provinceService; @RequestMapping(value = "/add") public String saveProvince(Province province){ System.out.println("哈哈哈"); return "添加成功"; } }
7.启动类的创建package com.zwd.core; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.boot.web.support.SpringBootServletInitializer; import org.springframework.context.annotation.ComponentScan; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.scheduling.annotation.EnableScheduling; @ComponentScan(basePackages = "com.zwd.core") @EnableJpaRepositories("com.zwd.core.mappers") @EntityScan(basePackages = "com.zwd.core.entity") @SpringBootApplication @EnableScheduling public class App extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(App.class,args); } }
如果没成功,可以参考我写的最简单的整合
https://github.com/love-dl-forever/spring-test