#一、 配置数据源:
<!-- 数据库 --> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
二、Jpa 配置
JPA
spring.jpa.hibernate.ddl-auto= update #显示 sql 语句
spring.jpa.show-sql=true
三、 实体类
@Entity
public class RoncooUserLog {
@Id
@GeneratedValue
private Integer id;
@Column
private Date createTime;
@Column
private String userName;
@Column
private String userIp;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserIp() {
return userIp;
}
public void setUserIp(String userIp) {
this.userIp = userIp;
}
@Override
public String toString() {
return "RoncooUserLog [id=" + id + ", createTime=" + createTime + ", userName=" + userName + ", userIp=" + userIp + "]";
} }
四、定义接口(继承 JpaRepository)
public interface RoncooUserLogDao extends JpaRepository<RoncooUserLog, Integer>{ }
五、 测试
@Autowired
private RoncooUserLogDao roncooUserLogDao;
@Test
public void insert() {
RoncooUserLog entity = new RoncooUserLog(); entity.setUserName("无境");
entity.setUserIp("192.168.0.1"); entity.setCreateTime(new Date()); roncooUserLogDao.save(entity);
}
@Test
public void delete() {
roncooUserLogDao.delete(1);
}
@Test
public void update() {
RoncooUserLog entity = new RoncooUserLog();
entity.setId(2);
entity.setUserName("无境 2");
entity.setUserIp("192.168.0.1");
entity.setCreateTime(new Date());
roncooUserLogDao.save(entity);
}
@Test
public void select() {
RoncooUserLog result = roncooUserLogDao.findOne(1);
System.out.println(result);
}
六、 扩展进行自定义的查询
- 使用内置的关键词查询
http://docs.spring.io/spring-data/jpa/docs/1.10.2.RELEASE/reference/html/ - 使用自定义语句查询
各种语法,具体查看
http://docs.spring.io/spring-data/jpa/docs/1.10.2.RELEASE/reference/html/
这个优先级比上面的高
@Query(value = "select u from RoncooUserLog u where u.userName=?1")
测试
public void select2() { List<RoncooUserLog> result =
roncooUserLogDao.findByUserName("无境"); System.out.println(result);
}
@Test
public void select3() { List<RoncooUserLog> result =
roncooUserLogDao.findByUserNameAndUserIp("无境", "192.168.0.1");
System.out.println(result); }
// 分页 @Test
public void queryForPage() {
Pageable pageable = new PageRequest(0, 20, new Sort(new
Order(Direction.DESC, "id")));
Page<RoncooUserLog> result =
roncooUserLogDao.findByUserName("无境", pageable);
System.out.println(result.getContent());
}
网友评论