springboot 项目搭建(整合mybatis mysql mongodb)

本文详细介绍如何使用SpringBoot搭建web项目,包括环境配置、项目搭建步骤、整合Mybatis和MongoDB等数据库,以及如何进行基本的CRUD操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚刚开始学习使用 Spring Boot 做个学习笔记!
1 Spring Boot web项目搭建
Spring Boot 框架的核心就是自动配置,这意味着我们再也不用在spring海量的xml配置中煎熬了!只要有 jar 包 Spring Boot 就会帮我们自动配置,当然若是默认的配置不能满足我们的需求,Spring Boot 也是 允许我们使用自定义的配置的。当然 Spring Boot 优点并不只有自动配置,它还集成了内嵌的 web 服务器,同时它还提供了优秀的系统监控等许多有用的功能。总之一切与 Spring Boot 有关的就是一句话 化繁为简。它就代表着简单方便。
Spring Boot 项目搭建很简单:
Configure environment

  • jdk1.8+
  • maven 3.3+
  • spirng-boot 1.5.2
  • eclipse
    开始搭建
    在eclipse中,右键new => maven project
    在这里插入图片描述
    点击 next 进入下一步
    在这里插入图片描述
    选择 maven-archetype-quickstart 继续点击下一步
    在这里插入图片描述
    编辑项目组名别名点击 finish 完成项目创建。
    项目目录:
    在这里插入图片描述
    pom.xml
    添加 Spring Boot 的父pom依赖
   <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.2.RELEASE</version>
		<relativePath/>
	</parent>

设置jdk和项目编码格式

       <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
       </properties>

接下来添加Spring Boot web的依赖模型

<dependencies>
    <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
</dependencies>	

搞定依赖之后需要创建一个 Appliction 的 java 类(在我的项目中是TestAppliction.java)此文件最好放在最顶层的包中,需要使用@SpringBootApplication 注解 类实现代码:

package com.boot;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class TestApplication {

	public static void main(String[] args) {
		SpringApplication.run(TestApplication.class, args);
	}
}

最后我们就可以开始编写我们熟悉的 controller 了 :

package com.boot.controller;

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

@RestController
public class TestController {
    @RequestMapping(value="/test",method=RequestMethod.GET)
	public String getLove() {
		return "hello world!";
	}
}

最后运行TestApplication可以得到如下的结果:
在这里插入图片描述
此时项目已经启动成功 在浏览器中输入 localhost:8080/test 就可以看到 :
在这里插入图片描述
2 整合(Mybatis)MySQL
首先pom中引入依赖

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
	</dependency>
	<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>

解决依赖之后就可以配置mysql的连接了在 src/mian/resources 下创建 application.properties 文件

mybatis.type-aliases-package=com.neo.entity

spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/pmsystem?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = 123456

spring.datasource.* 下面还有很多数据库连接的属性设置就不一一列出了。
Spring Boot 对于 Mybatis 同样支持两种dao层的方式 注解 和 xml。我今天就主要介绍xml 方式的编写
首先是它的配置在 application.properties 文件中加入下面两行,classpath 的根目录是在 src/main/resources 下面

mybatis.config-locations=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml

mybatis-config.xml 是对 mybatis 的一些配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<typeAliases>
		<typeAlias alias="Integer" type="java.lang.Integer" />
		<typeAlias alias="Long" type="java.lang.Long" />
		<typeAlias alias="HashMap" type="java.util.HashMap" />
		<typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" />
		<typeAlias alias="ArrayList" type="java.util.ArrayList" />
		<typeAlias alias="LinkedList" type="java.util.LinkedList" />
	</typeAliases>
</configuration>

mapper 下面的所有 xml 就是我们 mybatis 的映射文件了 这些我就不贴出来了。不会的可以到mybatis的官网上面看看。上面有大量的 mybatis 例子。
我们需要在 TestApplication 类上面加入注解 @MapperScan

package com.boot;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.neo.mapper")
public class TestApplication {

	public static void main(String[] args) {
		SpringApplication.run(TestApplication.class, args);
	}

}

最后是代码由于我是学习测试,因此在整合 mybatis 时并没有编写servies 层所有就贴一个 controller 的代码吧

package com.boot.controller;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.neo.entity.Job;
import com.neo.mapper.JobMapper;

@RestController
public class TestController {
	
	@Autowired
	private JobMapper jobMapper;
	
    @RequestMapping(value="/test",method=RequestMethod.GET)
	public List<Job> getLove() {
    	List<Job> jobs = jobMapper.getJobs();
		return jobs;
	}
}

3 整合 mongoDB
老规矩先添加pom依赖

    <dependency> 
	    <groupId>org.springframework.boot</groupId>
	    <artifactId>spring-boot-starter-data-mongodb</artifactId>
	</dependency> 

在 application.properties 文件中加入如下配置

spring.data.mongodb.uri=mongodb://adminUser:adminPass@localhost:27017/?authSource=admin&authMechanism=SCRAM-SHA-1
spring.data.mongodb.database=users

我的 mongodb 设置了管理员权限因此需要用户名密码还有权限
@Component注解用于dao层实现类上
好了下面是dao层实现类代码

package com.boot.mgdao.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Component;
import com.boot.mgdao.UserDao;
import com.neo.entity.User;

@Component
public class UserDaoImpl implements UserDao {
    @Autowired
    private MongoTemplate mongoTemplate;
	@Override
	public void saveUser(User user) {
		mongoTemplate.save(user);
	}
	@Override
	public List<User> getUsers() {
		return mongoTemplate.findAll(User.class);
	}
}

services层实现类代码

package com.boot.mgservies.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.boot.mgdao.UserDao;
import com.boot.mgservies.UserServies;
import com.neo.entity.User;
@Service
public class UserServiesImpl implements UserServies {
  @Autowired
  private UserDao userDao;
	@Override
	public void saveUser(User user) {
        userDao.saveUser(user);
	}
	@Override
	public List<User> getUsers() {
		return userDao.getUsers();
	}
}

controller 代码

package com.boot.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.boot.mgservies.UserServies;
import com.neo.entity.Job;
import com.neo.entity.User;
import com.neo.mapper.JobMapper;

@RestController
public class TestController {
	
	@Autowired
	private JobMapper jobMapper;
	@Autowired
	private UserServies userServies;
	
    @RequestMapping(value="/test",method=RequestMethod.GET)
	public List<Job> getLove() {
    	List<Job> jobs = jobMapper.getJobs();
		return jobs;
	}
    @RequestMapping(value="/testmg",method=RequestMethod.GET)
	public List<User> getUsers() {
    	List<User> users = userServies.getUsers();
		return users;
	}
}

好了以后学习新的 Spring Boot 相关东西我会继续写新的记录
最后把我学习 Spring Boot 写的小 demo 放上来
https://github.com/TomatoesLoveEggplant/SpringBoot-Test

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值