用spring boot和spring data jpa做简单的增删查改

做任何事情都高效有序,写程序也一样。而spring boot和spring data jpa的诞生无疑让程序员的福利。前置是为了减少xml配置文件。而后者又对数据持久层做了很好的封装。废话不多说。下面将用这两个框架做一个简单的增删查改案例。啦啦啦~~~~

软件环境

IDEA 2016.1.2
maven 3.3.9
windows 7
MySQL
说明:必须熟悉maven配置。spring boot内置了tomcat,不再需要配置。

数据库准备


其中springbootDemo为数据库名,表为user
用spring boot和spring data jpa做简单的增删查改_第1张图片

开发步骤

打开IDEA,点击File–>New –>Project弹出一下框。
用spring boot和spring data jpa做简单的增删查改_第2张图片

选中spring Initialozr.然后点击next.弹出一下界面
用spring boot和spring data jpa做简单的增删查改_第3张图片
继续点击next.然后有如下界面
用spring boot和spring data jpa做简单的增删查改_第4张图片
然后next –> finish。
项目的目录结构如下:
用spring boot和spring data jpa做简单的增删查改_第5张图片
下面讲解代码的设计

1、pom.xml的配置

在pom文件中添加多两条依赖


        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-data-jpaartifactId>
        dependency>
        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
        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 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 find() throws Exception {
    return userService.findAll();
}

/**
 * 通过id查找
 * @param id
 * @return
 */
@GetMapping(value = "/findById")
public Result 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模拟请求工具
这里我只测试查询所有数据的方法。界面如下
用spring boot和spring data jpa做简单的增删查改_第6张图片
ok。终于大功告成。
想要源码的朋友可以在我的github网站中下载。
网址为:https://github.com/lvhaibao/MyDemo
如有有什么不懂的,可以留言或者加我的QQ:370230552。
谢谢大家。

你可能感兴趣的:(spring)