一、項目結構html
二、導入jar包java
<!-- 添加Spring-data-jpa依賴. -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
三、添加並編輯 文件:application.propertiesmysql
spring.datasource.url = jdbc:mysql://localhost:3306/AppleforWindows_test1?characterEncoding=utf8&useSSL=true 說明:5.7的mysql必須加入:characterEncoding=utf8&useSSL=true spring.datasource.username = root spring.datasource.password = AppleforWindows 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 自動在數據庫建立table表 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 = update # 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.MySQL5Dialect
四、添加實體類set\getweb
package com.ld.bean; import java.util.Date; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import com.alibaba.fastjson.annotation.JSONField; /*建立了一個實體類。 * * 如何持久化呢? * * 一、使用@Entity進行實體類的持久化操做,當JPA檢測到咱們的實體類當中有 * * @Entity 註解的時候,會在數據庫中生成對應的表結構信息。 * * * 如何指定主鍵以及主鍵的生成策略? * * 二、使用@Id指定主鍵.*/ @Entity public class SysUser { /*設置爲主鍵*/ @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id; private String name; private String phone; private String mail; @JSONField(format="yyyy-MM-dd HH:mm") private Date createTime; private String remark; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getMail() { return mail; } public void setMail(String mail) { this.mail = mail; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } }
六、建立serverspring
提示:可根據自定義查看(DAORepository 接口並繼承 CrudRepository<T, Integer>該類的源碼)sql
package com.ld.service; import javax.annotation.Resource; import javax.transaction.Transactional; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import com.ld.bean.SysUser; import com.ld.repository.SysUserRepository; @Service("sysUserService") public class SysUserService { static final Logger logger = LoggerFactory.getLogger(SysUserService.class); @Resource private SysUserRepository sysUserRepository; public Iterable<SysUser> findAll() { logger.info("=>:findAll"); return sysUserRepository.findAll(); } public SysUser findOne(Integer id) { logger.info("=>:findOne"); return sysUserRepository.findOne(id); } @Transactional public SysUser save(SysUser sysUser) { logger.info("=>:save"); return sysUserRepository.save(sysUser); } public long count() { logger.info("=>:count"); return sysUserRepository.count(); } @Transactional public void delete(Integer id) { logger.info("=>:delete"); sysUserRepository.delete(id); } }
七、測試controller數據庫
package com.ld.controller; import java.util.Date; import javax.annotation.Resource; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import com.ld.bean.SysUser; import com.ld.service.SysUserService; import com.ld.util.CommonTool; @RestController @RequestMapping("sysUserWeb") public class SysUserWeb { @Resource private SysUserService sysUserService; @RequestMapping("/index") public ModelAndView index(){ ModelAndView mv = new ModelAndView("redirect:AmazeUI/error.html"); return mv; } @RequestMapping("/getAll") @ResponseBody public Iterable<SysUser> getAll(){ return sysUserService.findAll(); } @RequestMapping("/save") @ResponseBody public SysUser save(){ SysUser sysUser = new SysUser(); sysUser.setName(CommonTool.getRandomString(6)); sysUser.setPhone(CommonTool.getRandomPhone()); sysUser.setMail(CommonTool.getRandomMail()); sysUser.setCreateTime(new Date()); sysUserService.save(sysUser); return sysUser; } @RequestMapping("/queryOne") @ResponseBody public SysUser queryOne(){ return sysUserService.findOne(1); } }