SpringBoot2 学习3 集成JPA

通过配置文件设置 项目的端口和名字

  • 代码结构
    -在这里插入图片描述

  • /SpringBootBasic/src/main/resources/application.properties

//设置项目的端口号
server.port=9080
//设置工程名字
//  所有路径都需要加a.   http:localhost:9080/a/all 
server.servlet.context-path=/a

通过Spring的IOC 控制反转 管理对象

  • service 类上加注解 @Service
  • Controller类使用的时候,通过注解@Resource
    在这里插入图片描述
package com.zz.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.zz.entity.User;
import com.zz.service.UserService;

@RestController
//在类的上面,配置一个拦截路径,那么这个类里面所有方法的
//路径前面,必须加上这个us2. 避免和其他类的路径重复
@RequestMapping("us2")
public class UserController2 {
	//使用spring的ioc 控制反转。让spring容器帮我们创建对象
	@Resource
	UserService us;
	
	//拦截路径是:http://localhost:9080/a/us2/all
	@RequestMapping("all")
	public List<User> getAll(){
		List<User> userlist=us.selectAll();
		return userlist;
	}
	
	@RequestMapping("delete")
	public Map remove(HttpServletRequest request){
		String id=request.getParameter("uid");
		boolean rs=us.deleteById(id);
		Map map=new HashMap();
		map.put("result", rs);
		return map;
	}

}

开始集成JAP

  • 终项目工程结构
    在这里插入图片描述

  • POM 配置需要的包

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>zz</groupId>
    <artifactId>SpringBoot2</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>SpringBootJPA</artifactId>
  <packaging>war</packaging>
<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		
		<!--目的:《可选》引入springboot 热启动,每次修改以后,会自动把改动加载,不需要重启服务了-->
        <dependency> <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
        
         <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
		<dependency>
		    <groupId>mysql</groupId>
		    <artifactId>mysql-connector-java</artifactId>
		    <version>8.0.15</version>
		</dependency>
		<!--  添加JPA的支持 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		
	</dependencies>
  
<repositories>
        <repository>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </repository>
    </repositories>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
  • /SpringBootJPA/src/main/resources/application.properties
//设置项目的端口号
server.port=9081
//设置工程名字
server.servlet.context-path=/b

// 数据库的信息
spring.datasource.url = jdbc:mysql://localhost:3306/java10?useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username = root
spring.datasource.password = Java20190713*yy
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.jpa.database = MYSQL
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
  • 实体类Entity
package com.zz.entity;

import java.sql.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class OrderMaster {
	
	@Id
	@Column(length=50)
	private String id;
	
	private String name;
	private double total;
	private String address;
	private Date createTime;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public double getTotal() {
		return total;
	}
	public void setTotal(double total) {
		this.total = total;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	
	

}

  • Repository
package com.zz.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.CrudRepository;

import com.zz.entity.OrderMaster;

public interface OrderMasterRepository extends  CrudRepository<OrderMaster,String>{

}

  • Service
package com.zz.service;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.zz.entity.OrderMaster;
import com.zz.repository.OrderMasterRepository;

@Service
public class OrderService {
	@Resource
	OrderMasterRepository masterRepository;
	
	public OrderMaster addmaster(OrderMaster master){
		
		return masterRepository.save(master);
	}

}

  • controller
package com.zz.controller;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.zz.entity.OrderMaster;
import com.zz.service.OrderService;
import com.zz.util.KeyUtil;

@RestController
@RequestMapping("ordermaster")
public class OrderController {
	@Resource
	OrderService orderService;
	//测试地址:http://localhost:9081/b/ordermaster/add?address=ddd&name=jacky
	@RequestMapping("add")
	public OrderMaster save(HttpServletRequest request){
		String address=request.getParameter("address");
		String name=request.getParameter("name");
		OrderMaster master=new OrderMaster();
		master.setId(KeyUtil.genUniqueKey());
		master.setAddress(address);
		master.setName(name);
		
		return orderService.addmaster(master);
	}

}

测试

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值