springboot中+JPA 实现简单的添加用户的功能
- 创建springboot项目
我使用的sts开发springboot项目,所以这里介绍的是关于如何在sts中创建项目。其他软件开发也类似,可以去网上搜索如何创建springboot项目。
- 打开sts --> 点击左上角的File --> New --> Spring Starter Project , 如下图所示
在此处需要勾选几个依赖:JPA、MySQL、JDBC、thymeleaf、web
选择需要的Boot Versions (springBoot的版本)、修改项目名及其他信息由于做的是demo,设置完上述信息即可直接点击Finish创建项目了。
- 配置jpa
springboot项目中,省去了许多曾经需要编写的配置文件,仅部分配置信息需要我们自己手动填写,当然这个配置信息的添加也是极为简单的。
我们需要找到项目目录下的application.properties文件,在里面填写我们需要添加的配置信息即可。文件目录:/src/main/resources/applications.properties
如果是idea的话,application文件后缀为.yml,这两个文件仅仅是编写的格式不同,实现效果都是一致的。
点击打开application.properties文件,添加如下代码:
#jpa
spring.jpa.hibernate.ddl-auto=update//自动更新
spring.jpa.show-sql=true //日志中显示sql语句
spring.jackson.serialization.indent-output=true
- 创建用户实体
创建User实体
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
/**
*
* @类名:User
* @author :AUAS
* @功能描述:用户表的实体类
*/
@Entity
public class User{
@Id
@Column(name = "user_ID")
@GeneratedValue
private int UserID;
private String userName;
private String password;
public int getUserID() {
return UserID;
}
public void setUserID(int userID) {
UserID = userID;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
上面的实体类中使用@Entity注解,声明了这是一个实体,可以被扫描到。
@Id注解声明了下面的UserID是主键,
@Column(name = “user_ID”)表示这个UserID在数据库的表中对应的字段是user_ID,
@GeneratedValue表示UserID这个对应数据库表中对应字段会自增id,这样我们在前台利用ajax上传新添加的用户信息的时候就不需要我们再去传递id值,因为当我们使用jpa添加记录的时候,id会自动加一作为新纪录的id。
- 实现添加功能
这里我对前端代码及后端控制层接口不再赘述,由于我之前写过关于这部分步骤代码在ajax提交对象的博客,所以如果想了解这部分代码的可以去看那篇博客。
下面是与jpa相关的service实现及repository接口的展示:
/*Service接口代码*/
public interface addUserService{
/**
*@方法名:addUser
*/
void addUser(User user);
}
/*Service接口实现代码*/
@Service
public class addUserServiceImpl implements addUserService{
//注入
@Autowired
private addUserRepository addUserRepository;
/**
*@方法名:addUser
*/
public void addUser(User user){
addUserRepository.save(user);
}
}
/*addUserJpa接口代码*/
@Repository
public interface addUserRepository extends JpaRepository<User, Integer>{
}
注意:上面的addUserRepository接口中,由于我们只需要添加一个实体对象存入数据库中去,所以不需要再去定义其他方法去实现这个功能。因为从JpaRepository中已经继承有这些基础方法,因此需要在右侧泛型中填入自己实体类的名称以及主键的数据类型。
因此我们在addUserServiceImpl中注入了addUserRepository,并能够直接使用save(entity e)的方法去保存实体对象到数据库中。