一.添加相关依赖
数据库是MySQL,则相关依赖如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
二.添加配置项
#datasource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql:///test?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.tomcat.max-active=20
spring.datasource.tomcat.test-while-idle=true
spring.datasource.tomcat.validation-query=select 1
spring.datasource.tomcat.default-auto-commit=false
spring.datasource.tomcat.min-idle=15
spring.datasource.tomcat.initial-size=15
#jpa
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jackson.serialization.indent-output=true
三.写数据库表对应的实体类
@Entity
@Table(name="ifc_legal_article")
public class IfcLegalArticle implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
/**
* 名称
*/
private String name;
/**
* 内容
*/
private String fltw;
/**
* 添加时间
*/
@Column(name = "add_time")
private Date addTime;
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 String getFltw() {
return fltw;
}
public void setFltw(String fltw) {
this.fltw = fltw;
}
public Date getAddTime() {
return addTime;
}
public void setAddTime(Date addTime) {
this.addTime = addTime;
}
}
四.写dao层接口
dao里面的方法,很多不用写,按照,例如根据name查询记录,可以这样写:queryByName,以驼峰命名法即可很好的识别,不用@Query注解都可以识别。如果有自己特色需求,需要特定sql完成,则可以用@Query注解即可,如下:
public interface IfcLegalArticleDao extends JpaRepository<IfcLegalArticle, Integer>{
/**
* @description 查询记录
*/
public IfcLegalArticle queryByName(String name);
/**
*
* @description 查询法律条文总数
*/
@Query(nativeQuery = true, value = "select count(*) from ifc_legal_article")
public int selectTotal();
}
五.业务层使用
在代码层里先注入dao层接口,然后即可开始世界调用相关方法使用了,如下:
@Service
public class LegalArticleService {
/**
* logger
*/
public static Logger logger = LoggerFactory
.getLogger(LegalArticleService.class);
@Autowired
private IfcLegalArticleDao ifcLegalArticleDao;
public void Test(String name){
int count = ifcLegalArticleDao.selectTotal();
}
}
对于想保存相关数据到表时,JPA有封装好的方法可在业务代码里直接使用,而不用在Dao层再写方法,具体使用方法类似如下:
ifcLegalArticle.setName(name);
ifcLegalArticle.setFltw(fltw);
ifcLegalArticle.setAddTime(data1);
ifcLegalArticleDao.save(ifcLegalArticle);
By the way ,将当前的java里的时间改为数据库的timeStamp,可如下:
java.util.Date date=new java.util.Date();
java.sql.Date data1=new java.sql.Date(date.getTime());