做任何事情都高效有序,写程序也一样。而spring boot和spring data jpa的诞生无疑让程序员的福利。前置是为了减少xml配置文件。而后者又对数据持久层做了很好的封装。废话不多说。下面将用这两个框架做一个简单的增删查改案例。啦啦啦~~~~
软件环境
IDEA 2016.1.2
maven 3.3.9
windows 7
MySQL
说明:必须熟悉maven配置。spring boot内置了tomcat,不再需要配置。
数据库准备
其中springbootDemo为数据库名,表为user
开发步骤
打开IDEA,点击File–>New –>Project弹出一下框。
选中spring Initialozr.然后点击next.弹出一下界面
继续点击next.然后有如下界面
然后next –> finish。
项目的目录结构如下:
下面讲解代码的设计
1、pom.xml的配置
在pom文件中添加多两条依赖
<!--spring-data-jpa-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
2、在entity层中新建User.java
@Entity
@Component
public class User {
@Id
@GeneratedValue
private Integer id;
private String name;
private Integer age;
public User(){
}
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 Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
3、在dao层下新建UserDao.java
public interface UserDao extends JpaRepository<User,Integer>{
}
4、在server层中新建UserService.java
public interface UserService {
public List<User> findAll() throws Exception;
public User save(User user)throws Exception;
public User findById(Integer id)throws Exception;
public void deleteById(Integer id)throws Exception;
}
同时,该实现类为UserServiceImpl.java
@Service
@Transactional
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public List findAll() throws Exception{
return userDao.findAll();
}
@Override
public User save(User user) throws Exception{
return userDao.save(user);
}
@Override
public User findById(Integer id) throws Exception{
return userDao.findOne(id);
}
@Override
public void deleteById(Integer id) throws Exception{
userDao.delete(id);
}
}
5、在controller层中新建UserController.java
@RestController
public class UserController {
@Resource
private UserService userService;
/**
* 添加数据
* @param user
* @return
*/
@PostMapping(value = "/save")
public User save(User user) throws Exception {
return userService.save(user);
}
/**
* 查找全部数据
* @return
*/
@GetMapping(value = "/find")
public List<User> find() throws Exception {
return userService.findAll();
}
/**
* 通过id查找
* @param id
* @return
*/
@GetMapping(value = "/findById")
public Result<User> findById(Integer id) throws Exception {
return ResultUtil.success(user);
}
/**
* 根据id删除
* @param id
*/
@DeleteMapping(value = "/deleteById")
public void deleteById(Integer id) throws Exception {
userService.deleteById(id);
}
}
注意:这里使用@RestController这个注解来返回json格式的数据。
采用的是RESTfull风格。
测试
本人测试采用的一个http模拟请求工具
这里我只测试查询所有数据的方法。界面如下
ok。终于大功告成。
想要源码的朋友可以在我的github网站中下载。
网址为:https://github.com/lvhaibao/MyDemo
如有有什么不懂的,可以留言或者加我的QQ:370230552。
谢谢大家。