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"}
返回成功。看数据库中,多了一条数据了。
打完收工。都是快速打通经脉,没有仔细研究所以然,后面再慢慢积累内功吧。