SpringBoot+jersey简单示例二 数据库连接

这里我用的是posgreSql数据库,装在本地

springboot配置:


这里我们需要在数据库中创如下:

用户:postgres,密码:123456

数据库:sp

接着上一节说。

接图添加上一节没有的包,以及没有的文件。


首先我们看看实体类


像这样加上注解后,再加上本置文件已经配好,如果此时你已经启动了postgresql,那么运行这个就可以自己地在数据库中插入表了,这里有个注意的:表名(@Entity(name="table_name"))不可与数据库中的关键字重名,否则会失败。

@Id:主键

@GeneratedValue:自动生成数据

@Column:列

再来看看数据库的操作


2是继承spring-data jpa接口及自己需要的功能接口,

1是对数据库操作的定义接口以及实现

这两个是spring-data jpa规范,我也不是很精通,只写了一个小例子。

在Demo.java中可以添加操作函数,这们就可以通过浏览器请求进行数据库操作了,这里只贴一部分讲解。

	@Path("employee") //路径   这里请求是:ip:port/demo/employee
	@POST             //请求类型
	@Produces(MediaType.APPLICATION_JSON) //产出类型,
	public String getEmployee(@FormParam("id") String paramId) {//这里有几种类型的参数,可以搜一下,就不总结了
		UUID id = UUID.fromString(paramId) ;  
		Employee emp = employeeService.findById(id) ;
		return gson.toJson(emp);
	}

上面的代码是通过POST请求发送id的方式查询,并以json的形式返回,这里的@Path不能跟其他的path有二义性,否则程序不知道选哪个就会出错


下面的代码是上传和查看图片。注意,这个.java文件要在JerseyConfig.java中注册,否则找不到,而且图片这个还有单独一个要注册的。

@Path("{id1}/file/{id2}/cao")
	@POST
	@Consumes(MediaType.MULTIPART_FORM_DATA)
	public Response cao(
			@FormDataParam("file") InputStream in,
			@PathParam("id1") String id1,
			@PathParam("id2") String id2) throws IOException {

		String baseLocation = JerseyConfig.getLocation() ;
		System.out.println(baseLocation+id1+id2);
		File f = new File(baseLocation + File.separator+id1+File.separator+id2) ;
		File parent = f.getParentFile() ;
		if(!parent.exists()) {
			if(!parent.mkdirs()) {
				//exception!!!
			}
		}

		Files.copy(in, f.toPath()) ;
		return Response.status(Status.OK).build() ;
	}

	@Path("{id1}/file/{id2}/cao")
	@GET
	@Produces(MediaType.APPLICATION_OCTET_STREAM)
	public Response showFile(@PathParam("id1") String id1,
			@PathParam("id2") String id2) {
		String baseLocation = JerseyConfig.getLocation() ;
		File f = new File(baseLocation + File.separator+id1+File.separator+id2) ;
		if(!f.exists()) {
			throw new WebApplicationException(404);
		}
		String mt = new MimetypesFileTypeMap().getContentType(f) ;
		return Response.ok(f,mt).build() ;
	}

下面演示一下上传图片的效果Postman中模拟请求发送





最后附上源码

点这里下载

猜你喜欢

转载自blog.csdn.net/hb_688/article/details/80558055