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

刚刚开始学习使用 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

Spring Boot是一个用于快速开发Java应用程序的框架,它提供了一种简化的方式来构建独立的、生产级别的Spring应用程序。MyBatis是一个持久层框架,它简化了数据库访问的过程。而MySQL是一种关系型数据库管理系统,被广泛用于存储和管理数据。 在Spring Boot整合MyBatisMySQL可以通过以下步骤完成: 1. 在Spring Boot项目的pom.xml文件中添加MyBatisMySQL的依赖项。 ```xml <dependencies> <!-- MyBatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> <!-- MySQL --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency> </dependencies> ``` 2. 在application.properties或application.yml文件中配置MySQL数据库连接信息。 ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=username spring.datasource.password=password ``` 3. 创建一个用于操作数据库的Mapper接口,并使用@Mapper注解标记该接口。 ```java @Mapper public interface UserMapper { // 定义数据库操作方法 List<User> getAllUsers(); void insertUser(User user); void updateUser(User user); void deleteUser(int userId); } ``` 4. 创建一个用于实现Mapper接口的Mapper XML文件,并定义SQL语句。 ```xml <!-- user_mapper.xml --> <mapper namespace="com.example.mapper.UserMapper"> <select id="getAllUsers" resultType="com.example.entity.User"> SELECT * FROM user </select> <insert id="insertUser"> INSERT INTO user (name, age) VALUES (#{name}, #{age}) </insert> <update id="updateUser"> UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id} </update> <delete id="deleteUser"> DELETE FROM user WHERE id = #{id} </delete> </mapper> ``` 5. 在Spring Boot的主类上使用@MapperScan注解,指定Mapper接口所在的包。 ```java @SpringBootApplication @MapperScan("com.example.mapper") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 至此,你已经成功将Spring BootMyBatisMySQL整合在一起了。你可以在业务逻辑中使用自动注入的Mapper接口来操作数据库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值