当前位置: 首页 > news >正文

(用Maven)整合SpringBoot,SpringMVC,MyBatis

目录

1、用 maven 创建一个 java 项目

2、添加依赖

3、在 pom.xml 里添加资源拷贝插件

4、刷新Maven

5、在Main下创建 resources 文件夹

6、在 resourses 下创建文件 application.yml​编辑

7.1、在 application.yml 配置连接数据库的四要素

7.2、配置类型别名

​8、在 com.jr.dz18 包下创建 pojo.Emp 类(pojo是包名)

9、创建接口 EmpMapper (是接口,别选错了)

10. 在 mapper 包下创建 EmpMapper.xml 映射文件

11、创建 service 层

12、创建 EmpController

13、在 com.jr.dz18 下创建 SpringBootMain 类

14、运行

15、结束运行


1、用 maven 创建一个 java 项目

项目名 springboot01,java 项目的 Archettype 是 最后叫 quickstart 的,GroupId 写反向域名

        1.1 右下角弹的这个选前面的 Exclude floders,Load Maven Project(没截到)

        

2、添加依赖

        在 pom.xml 的 dependencies 标签里添加 SpringBoot,SpringMVC,Mybatis,MySQL,lombok 的依赖(在已有的 dependency 标签下面添加就行,没有就创建一个 dependencies标签)

    <!--1.添加SpringBoot 的启动器依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.1.10.RELEASE</version><type>pom</type><scope>import</scope></dependency><!-- 2.添加Spring MVC的启动器依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.1.10.RELEASE</version></dependency><!-- 3.添加Mybatis 的启动器依赖--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.1</version></dependency><!-- 4.添加mysql数据库的驱动包依赖--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.30</version>   <!--<version>5.1.8</version> --></dependency><!-- 5.添加lombok注解依赖--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.18</version><scope>provided</scope></dependency>

3、在 pom.xml 里添加资源拷贝插件

        在 dependencies 的下面,project 的里面创建一个build 标签

<build><!--资源拷贝的插件 --><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource><resource><directory>src/main/resources</directory><includes><include>**/*.yml</include><include>**/*.xml</include><include>**/*.properties</include></includes></resource></resources>
</build>

4、刷新Maven

        加完依赖后右键项目,下滑,在 Maven 刷新一下(有的不需要,我的 idea 需要这一步才能添加成功)

        

5、在Main下创建 resources 文件夹

        5.1 点一下下面的这个,回车就行

        

        5.2 没有就先创建一个 resources 

        

                5.2.1 去项目结构

                

                设置资源根目录(?)

                

                  ↑↑↑ 上面的操作后resources 变色了,点击应用 ↓↓↓

                

                ↓↓↓resources 长这样就 ok 了

                

6、在 resourses 下创建文件 application.yml

       6.1 名字一定要是 application.yml,名字对了会有绿色图标出现,这里没有出现图标就刷新一下maven试试(看第四步)

        

7.1、在 application.yml 配置连接数据库的四要素

        冒号:后面一定要有个空格,要看好缩进位置(不然不会识别到,或者识别错误)

        url 的 3306 和 jdbc2,uesrname,password 根据自己的数据库写,可能和我的不一样

##配置连接数据库的四要素
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/jdbc2?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=trueusername: rootpassword: root

7.2、配置类型别名

        要顶格开始写,多个包的路径之间用逗号隔开,空格加不加都行

        (路径按照自己的包名来写)配置完再刷新一遍 Maven

##配置类型别名; 配置mapper映射文件的位置
mybatis:type-aliases-package: com.jr.pojo.dz18, com.jr.dz18.vomapper-locations: classpath:com/jr/dz18/mapper/*.xml

8、在 com.jr.dz18 包下创建 pojo.Emp 类(pojo是包名)

        8.1 编写 Emp 类(用注解)

@AllArgsConstructor
@NoArgsConstructor
@Data
@Component
public class Emp {private Integer empno;private String ename;private String job;private Integer mgr;private Date hiredate;private Double sal;private Double comm;private Integer deptno;
}

9、创建接口 EmpMapper (是接口,别选错了)

        9.1 编写 EmpMapper

public interface EmpMapper {@Select("select * from emp where empno=#{empno} and ename=#{ename}")Emp selectEmp(Emp emp);ArrayList<Emp> selectEmps(Emp emp);
}

10. 在 mapper 包下创建 EmpMapper.xml 映射文件

        因为在第三步, pom.xml 里写过资源拷贝的插件了,可以在 java 下写 xml 映射文件,创建后会有小鸟图标出现

        可以用之前创建的模板(需要改),没有就直接粘下面的代码

            

        (这里的 namespace 也是,按自己的路径写,参数类型和返回值类型可以用别名,因为在 7.2 里面设置了,没设就得用绝对路径 com.jr.pojo.dz18.Emp)

        (如果 emp 报红了就刷新一遍 Maven)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jr.dz18.mapper.EmpMapper"><!-- 设置二级缓存的范围(一般会定位到接口) --><select id="selectEmps" parameterType="emp" resultType="emp">select * from emp<where><if test="deptno!=null">and deptno=#{deptno}</if><if test="ename!=null">and ename like '%${ename}%'</if></where></select>
</mapper>

11、创建 service 层

        在 dz18 下,创建包和接口 service.EmpService 并编写 (是接口,不是实体类)

        

public interface EmpService {Emp queryEmp(Emp emp);ArrayList<Emp> queryEmps(Emp emp);
}

        11.1 在 service 下创建 impl.EmpServiceImpl 并编写 EmpServiceImpl,标红的地方都选 'import class'

      

@Service
@Transactional(propagation= Propagation.REQUIRED)
public class EmpServiceImpl implements EmpService {@Autowiredprivate EmpMapper empMapper;@Overridepublic Emp queryEmp(Emp emp) {return empMapper.selectEmp(emp);}@Overridepublic ArrayList<Emp> queryEmps(Emp emp) {return empMapper.selectEmps(emp);}
}

12、创建 EmpController

        12.1 编写 EmpController (用注解和二级路由)

        当使用 @ResponseBody 注解时,login() 方法返回的 ArrayList<Emp> 对象会被 Spring 自动转换为 JSON 格式(需要有JSON 解析依赖),并作为响应体返回给前端。(在 pom.xm 中 添加的 SpringBoot 的启动器依赖里有,相当于间接添加了JSON 解析依赖 )

        如果没有这个注解,Spring 会默认将返回值视为视图名称,尝试通过视图解析器解析并渲染对应的视图页面

@Controller
@RequestMapping("emp/")
public class EmpController {@Autowiredprivate EmpService empService;@RequestMapping("login")@ResponseBodypublic ArrayList<Emp> login(Emp emp){ //返回值会自动转成字符串类型Emp returnEmp = empService.queryEmp(emp);if(returnEmp == null){System.out.println("登录失败");return null;}else{System.out.println("登录成功");ArrayList<Emp> list = empService.queryEmps(new Emp());return list;}}
}

13、在 com.jr.dz18 下创建 SpringBootMain 类

        或者给 App 改名,叫 SpringBootMain

        

添加/重写 main 方法,添加注解(注解里面的路径也是,按照自己的包结构写)

@SpringBootApplication
@MapperScan("com.jr.dz18.mapper")
public class SpringBootMain {public static void main(String[] args) {SpringApplication.run(SpringBootMain.class,args);}
}

注意:有 main 方法的文件一定要直接写在 Controller 的上级文件底下,不要再套文件夹

14、运行

         先在右边去 Maven 的生命周期 clean 并 install 然后再运行

        (2, 3, 4 要双击)点到 5 后点击 Run 'SpringBootMain,main()'

        14.1 右下角弹东西就都点 Enable annotation processing

        

        

         ↑↑ 运行成这样之后,打开浏览器,在网址里直接输入url + 拼接两个参数 (参数值用emp表里有的数据)   127.0.0.1:8080/emp/login?empno=1235&ename=admin  然后点回车键 ↓↓

                   ↑↑↑ 输出的是Emp表里的数据 ↓↓↓

        

15、结束运行

        最后点击上方的红色按钮结束运行


文章转载自:

http://tPbN8p3Z.mwjdj.cn
http://xQD68tPi.mwjdj.cn
http://6Bsr4KsI.mwjdj.cn
http://dqOa5vk9.mwjdj.cn
http://FR8Px0tm.mwjdj.cn
http://maXAsagn.mwjdj.cn
http://nnLhjUoW.mwjdj.cn
http://tTs0ZPNm.mwjdj.cn
http://AcX5So9R.mwjdj.cn
http://izPkh1yY.mwjdj.cn
http://goFqVHvF.mwjdj.cn
http://yeOAdrmI.mwjdj.cn
http://hNcGmgXz.mwjdj.cn
http://vJ4M4DFB.mwjdj.cn
http://XXLwPjT7.mwjdj.cn
http://FqVngYNe.mwjdj.cn
http://mz9N0SUL.mwjdj.cn
http://Jax4gmLw.mwjdj.cn
http://IZ0n1pU4.mwjdj.cn
http://h0Lr2XjV.mwjdj.cn
http://VMqpovRd.mwjdj.cn
http://DcChqojv.mwjdj.cn
http://Si7bEDkq.mwjdj.cn
http://1uGvNq9l.mwjdj.cn
http://rKItWk7W.mwjdj.cn
http://g1J16Bfm.mwjdj.cn
http://vCcssbYR.mwjdj.cn
http://WObKYR0p.mwjdj.cn
http://Wcb0Jepe.mwjdj.cn
http://d9mH5ZIK.mwjdj.cn
http://www.dtcms.com/a/384975.html

相关文章:

  • 数据结构---基于链式存储结构实现的双端队列
  • 【完整源码+数据集+部署教程】训练自动化:电杆基坑分割系统 yolov8-seg-C2f-CloAtt
  • 某发电替代扩建项目集控楼高大支模自动化监测
  • 什么是产品思维?产品经理如何提高产品思维?
  • Quat.js四元数完全指南
  • 34.Socket编程(UDP)(上)
  • 综合篇| 智能体平台dify、coze和n8n对比
  • Crond服务
  • LazyVim设置tab
  • 【无标题】好吧
  • 【Git】零基础入门:配置与初始操作实战指南
  • 云手机兼容性对游戏的重要性
  • Vue-color:Vue.js 专业颜色选择器组件库 – 支持Vue2/3,TypeScript,暗色主题
  • IntelliJ IDEA 的 Git 功能
  • 【更新至2024年】2009-2024年上市公司排污环保费用数据
  • Nmap图形化扫描工具 | 集成资产定期监控功能
  • 讲一讲cot蒸馏以及grpo的方式训练模型
  • 面试之Java基础
  • LeetCode 3325.字符至少出现K次的子字符串 I
  • 【Linux命令从入门到精通系列指南】cp 命令详解
  • Oracle重做日志(Redo Log):数据一致性的“守护者“
  • Linux的生产者消费者模型
  • 深度学习基础、pytorch使用①
  • 国产化PDF处理控件Spire.PDF教程:在 ASP.NET Core 中创建 PDF的分步指南
  • 某村通信网络改造:从痛点到解决方案的全景分析
  • Elastic APM 入门指南:快速设置应用性能监控
  • 流式响应的demo , 前端markdown格式显示, 打字机效果展示
  • 【免费体验】旗讯 OCR手写识别:破解工厂数据处理痛点,实现从 “人工录入” 到 “AI读单” 的升级
  • 远程开机wakeonlan
  • 健康有益:车载健康化系统推动智能汽车健康管理新变革