《《《《《《《《《《《------ 项目建立 ------》》》》》》》》》》》》
1.新建项目,选择Spring Initializer(新版本选择Spring boot)
我的项目是JDK1.8的,所以在项目SDK就选择了1.8版本的,选择启动服务URL地址为默认
2.Spring Initializer项目设置,项目组就是打开后项目一层层的包名,正常情况下就默认就可以了,但是,类型得选择为Maven类型,然后下一步
3.进入依赖界面,选择Web下的Spring Web,右上角Spring Boot根据自己的情况选择,我选的版本比较低3.3.4版本的SpringBoot ,然后下一步
4.项目命名 demo(根据自己的需求去写项目名),然后点击完成
《《《《《《《《《《《------ 项目目录文件说明 ------》》》》》》》》》》》》
1.先把.mvn文件夹删了(包含其下所有东西),再删除mvnw文件和mvnw.cmd文件
2.配置pom.xml文件,系统运行时,首先加载运行的就是它,里面存放着的依赖根据需求配置
①需要修改springboot版本的和java版本的找两个模块,并直接修改版本号,在IDEA中会自动下载更新配置,如果修改后没更新,请关了IDEA重新打开就可以了
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<!-- springboot版本3.3.4-->
<version>2.7.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<java.version>8</java.version>
</properties>
②添加依赖
<!-- 加入mybits依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter-test</artifactId>
<version>2.2.2</version>
<scope>test</scope>
</dependency>
<!-- mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
<!-- AOP的包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!-- FastJson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
③然后打开src源码路径下的包 com.dx.wlmq
在该包下创建
controller(控制层)、
domain(Dao层 存放实体类)、
mapper(Dao层 存放接口,接口下是要实现的抽象方法)
service(业务层 存放业务实现的接口和实现类) 在其下有一个impl的包
DemoApplication是Springboot的启动类,必须存放于其他所有类上层包
④在resources包下创建一个名为mapper的包,用于存放.xml文件(例如RolesMapper.xml),改文件写的都是Dao层的sql语句,查询的话别忘了属性映射,也别忘了修改命名空间的接口位置包名
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--命名空间,接口位置-->
<mapper namespace="com.dx.wlmq.mapper.SuppliersMapper">
<resultMap id="suplist" type="com.dx.wlmq.domain.Supplier">
<id property="supplierId" column="supplier_id"></id>
<id property="supplierName" column="supplier_name"></id>
<id property="supplierPerson" column="supplier_person"></id>
<id property="supplierPhone" column="supplier_phone"></id>
<id property="supplierAddress" column="supplier_address"></id>
<id property="supplierUserId" column="supplier_user_id"></id>
<id property="supplierBank" column="supplier_bank"></id>
<id property="supplierBanknum" column="supplier_banknum"></id>
<id property="supplierBankperson" column="supplier_bankperson"></id>
<id property="supplierRemark" column="supplier_remark"></id>
<id property="supplierVersion" column="supplier_version"></id>
<id property="createTime" column="create_time"></id>
<id property="updateTime" column="update_time"></id>
</resultMap>
<select id="Supplierlist" resultMap="suplist">
SELECT *
FROM `or_supplier`;
</select>
</mapper>
⑤配置resource下的application.properties文件,里面规定本地访问的端口修改,源数据配置(一定要确定表在哪个数据库),实体对象映射,mapper的加载文件映射,以及驼峰命名规则是否启用
《《《《《《《《《《《------ 实现步骤 ------》》》》》》》》》》》》
1.先写domain里面的实体类
遇见Date类型的属性时要加上以下两个注释,确保经过JSON输出后,反序列化为时间格式》每出现一个Date就需要重新写一个
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
都写好后生成Get和Set方法,toString方法,全部参数构造方法和无参构造方法
2.书写mapper里面的接口,并在接口中写出要实现的方法
每个mapper接口上一定要添加@Mapper(作用:"不知道")
3.书写Service层
在service包下创建名为 XXXsService 接口,并将其方法mapper下的方法复写一边
在service包下创建impl包,并在该包下创建 XXXsService 接口的实例
实例中,加上注释@Service("XXXsService")作为服务层,双引号里面写的是实现接口的名字,但是首字母小写;例如:@Service("addresssService")
并在下方创建一个@Resource(name="addresssImpl"),addresssImpl是Dao层的接口名字,首字母小写并创建一个 private AddresssImpl addresssImpl;来调用Dao层,方法中返回实例addresssImpl的方法:return addresssImpl.Addressadd(address);
4.书写Controller层
在controller包下添加XXXsController类,
先添加@Controller声明其为控制层
在添加一个@RequestMapping("/roles") 表示第一层路径
在类中要调用服务层 增添注解 @Resource(name = "rolesService") ,以此调用服务层rolesService是服务层接口的名字,首字母小写,
并声明一个RolesService rolesService;来调用服务层
服务层的方法在书写前先声明路径,请求方法,以及文本类型
注解如下:
@RequestMapping(value = "/list", method = RequestMethod.GET, produces = "text/html;charset=UTF-8")
然后再添加注解:
@ResponseBody
最后书写方法,定义响应包内容,并return 返回一个json类型的数据体
public Object index12(HttpServletResponse response,@RequestBody Role role) {
response.setContentType("text/html;charset=UTF-8");
return JSON.toJSONString(rolesService.Roleadd(role));
}
当参数中有实体类的时候,要添加注解@RequestBody