用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
这里写图片描述

开发步骤

打开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。
谢谢大家。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值