spring boot默認使用 Hibernate 來實現jpa
只用最快方式打通數據庫操作。
1,修改pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>hui.study.demo</groupId>
<artifactId>springboot</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
</project>
增加了兩個依賴:
spring-boot-starter-data-jpa和mysql-connector-java
2,
在命令行中,CD到工程目錄,執行mvn eclipse:eclipse
然後回到STS,右鍵工程,刷新
3,本機安裝好mysql,並且建庫建用戶,然後賦權限。這一步就不詳細描述了。
不需要建表,直接在代碼裏就可以注入配置。
4,修改application.properties文件,增加下列內容:
spring.datasource.url = jdbc:mysql://localhost:3306/AAAAAAAA
spring.datasource.username = root
spring.datasource.password = #########
spring.datasource.driverClassName = com.mysql.jdbc.Driver
# 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 = update
# Naming strategy
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
把AAAAAAA替換成數據庫名,root改成對應的用戶,#######改成密碼。
記得運行 mvn -X clean install
參照上一篇文章 007
5,修改UserInfo.java
package springboot;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "userinfo")
public class UserInfo{
@Id
private String userCode;
private String userName;
private String deptCode;
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getDeptCode() {
return deptCode;
}
public void setDeptCode(String deptCode) {
this.deptCode = deptCode;
}
}
這時可以運行了工程了。運行後,發現數據庫中多了一張表:UserInfo
6,增加對錶的操作
新建interface: UserDao
package springboot;
import javax.transaction.Transactional;
import org.springframework.data.repository.CrudRepository;
@Transactional
public interface UserDao extends CrudRepository<UserInfo, Long> {
public UserInfo findByDeptCode(String deptCode);
}
@RequestMapping(value="/trequest", method = RequestMethod.POST)
@ResponseBody
public UserInfo trequest(@RequestBody UserInfo pu){
logger.log(Level.INFO, "just test the log. (/trequest)");
UserInfo u = new UserInfo();
u.setUserCode(pu.getUserCode());
u.setUserName(pu.getUserName());
u.setDeptCode(pu.getDeptCode());
userdao.save(u);
return u;
}
這時,訪問
http://localhost:8090/
Request內容填:
{"userCode":"ABC001", "userName":"第一個用戶", "deptCode":"CC001"}
返回成功。看數據庫中,多了一條數據了。
打完收工。都是快速打通經脈,沒有仔細研究所以然,後面再慢慢積累內功吧。