重新搭建springboot与mybatis的过程

最近准备选调,Java落下了不少,抽空复习一下,电脑是全新的,什么环境都没有,现在从0开始。

java环境(jdk)

  • 配置JAVA_HOME,添加环境变量到JAVA_HONE的bin
  • 在idea中的sdk就是这个jdk的路径

maven环境

  • config下的setting的修改,一个是本地maven库,一个是下载jar包的服务器镜像配置。
 <mirrors>
        <mirror>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>

        <mirror>
            <id>uk</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://uk.maven.org/maven2/</url>
        </mirror>

        <mirror>
            <id>CN</id>
            <name>OSChina Central</name>
            <url>http://maven.oschina.net/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>

        <mirror>
            <id>nexus</id>
            <name>internal nexus repository</name>
            <!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>-->
            <url>http://repo.maven.apache.org/maven2</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
  </mirrors>

mysql的配置

先下载mysql,我下载的是mysql-5.7.30-winx64,然后新建my.ini,然后按照如下填写。

[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]
# 设置3306端口
explicit_defaults_for_timestamp=true
port = 3306
# 设置mysql的安装目录(注意对应修改)
basedir=D:\\GoogleDownload\\Mysql\\mysql-5.7.30-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=D:\\GoogleDownload\\Mysql\\mysql-5.7.30-winx64\\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

命令行管理员身份进入mysql-5.7.30-winx64/bin,然后初始化数据库:

mysqld --initialize --console

执行完毕后记住初始密码:

2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ

安装:

mysqld install

启动:

net start mysql

登录:

mysql  -u root -p

出现

Enter password:

输入刚才记住的密码即可

默认密码难管理?? 输入以下语句以修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

idea的初始配置

  • Maven的配置:
    首先进入主页面,点击configrature,点击setting,然后点击build,Execution,deployment中的maven,修改如下:
    在这里插入图片描述
    在这里插入图片描述

正式开始

创建项目,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这些名字最好有一个地方专门去保存我们的项目

开始mybatis之旅

  • 基础依赖
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

数据库版本依赖:

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.2.2.RELEASE</version>
        </dependency>

数据库连接依赖

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
        </dependency>

mybatis依赖

<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>
对象关系映射的建立(ORM)

所谓对象关系指的是java中的对象与关系型数据库中的映射关系,好好的对象不用为什么一定要加个对象与关系的映射呢?原因是数据的增删改查是在内存中处理的,不可能保存在内存中吧,要知道内存的容量是有限的,另外断电就over了,所以需要将对象的数据永久性(持久性)保存在外存中(数据库),在保存的过程中不能出现差错,所以需要建立对象与关系数据的映射(Object Relational Mapping)。

创建数据库

使用navicat工具连接刚才的数据库,然后创建数据
在这里插入图片描述
我创建了一个数据库名为lang,表名为user的数据库,里面就一行数据。

  • 可以用本地的idea连接该数据库
    在这里插入图片描述
    点击1,然后选择mysql,紧接着填写2345,user和password为你的数据库用户民和密码,database为数据库名(我刚才的lang),然后url注意要加时区,不然会报错。
    比如我在后面加了 ?serverTimezone=GMT
jdbc:mysql://localhost:3306/lang?serverTimezone=GMT
创建类:
package com.langlang.demo.POJO;

import lombok.Data;

@Data
public class User {
    int id;
    String username;
    String password;
}

这里使用了一个插件lombok,帮助数据库的getset等等;

创建关系

由于mybatis集成了ORM,所以这部分其实也顺带讲了mabatis与springboot的集成。首先用xml的形式来说吧。

首先使用yaml文件编写基本的jdbc连接数据库四大要素:

spring:
  datasource:
    password: 123
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/lang?allowMultiQueries=true&allowPublicKeyRetrieval=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT
    username: root

然后加入mybatis的mapper.xml文件所在的位置。

mybatis:
  mapper-locations: classpath:Mapper/*.xml

完成后如下:
在这里插入图片描述
接着在resource目录下创建该xml
在这里插入图片描述
测试将数据库中的所有数据取出

<?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.langlang.demo.Mapper.HelloMapper">
    <select id="getUser" resultType="com.langlang.demo.POJO.User">
        SELECT `user`.* FROM `user`
    </select>
</mapper>

在这里插入图片描述
这4个点都是我们注意的地方,我们一个一个说

  1. 是我建立的一个mapper文件所在的地址,mapper文件的作用是左顾java内存中对象的代码操作
    在这里插入图片描述
    其语句为:
package com.langlang.demo.Mapper;

import com.langlang.demo.POJO.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface HelloMapper {
    public User getUser();
}

而我们刚才的resource中的helloMapper中的内容为:

<?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.langlang.demo.Mapper.HelloMapper">
    <select id="getUser" resultType="com.langlang.demo.POJO.User">
        SELECT `user`.* FROM `user`
    </select>
</mapper>

作用是右盼关系性数据库以及他们之间的连接。
2. ResultType表示从数据库中取出数据之后封装成哪一个对象,中间也涉及到了mapping
3. getUser其实就和我的HelloMapper中getUser函数一致,这里是在和内存中的数据处理搭桥。
4. 最后是数据库语句操作。

使用注解形式

除了xml形式,更方便的是注解形式,这种的简单修改是在配置文件中对mybatis进行修改。

mybatis:
  type-aliases-package: com.langlang.demo.Pojo

为什么要加入这个呢?原因是基于注解的形式是去掉了xml,也即去掉了classpath下的Mapper映射,直接通过在mapper中函数之上写相关的语句以实现。
在这里插入图片描述
也就是说这一条语句实现了刚才通过xml建立mapping的4个流程
首先通过刚才的type-aliases-package: com.langlang.demo.Pojo限定了返回数据的对象映射,完成了12,直接将数据库语句写在函数上完成了3,最后是数据库语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是使用 IntelliJ IDEA 搭建 Spring Boot MyBatis 项目的步骤: 1. 打开 IntelliJ IDEA,选择 File -> New -> Project,然后选择 Spring Initializr。在弹出的窗口中,选择 Spring Boot 版本、Java 版本,然后填写 Group 和 Artifact 信息。在 Dependencies 中选择 “MyBatis” 和 “MySQL Driver”,然后点击 Next。 2. 在 Project Name 和 Project Location 中填写项目名称和项目存储位置,然后点击 Finish。 3. 在 pom.xml 文件中添加以下依赖项: ```xml <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>${mybatis-spring-boot-starter.version}</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql-connector-java.version}</version> </dependency> ``` 4. 在 application.properties 文件中添加数据库连接信息: ``` spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 5. 创建 mybatis-config.xml 文件。在 src/main/resources 目录下创建一个名为 mybatis-config.xml 的文件,并添加以下内容: ```xml <?xml version="1.0" encoding="UTF-8" ?> <configuration> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> </configuration> ``` 6. 创建 Mapper 接口和对应的 Mapper.xml 文件。在 src/main/java 目录下创建一个名为 com.example.demo.mapper 的,并创建一个名为 UserMapper 的接口,代码如下: ```java package com.example.demo.mapper; import com.example.demo.entity.User; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper public interface UserMapper { List<User> findAll(); } ``` 在 src/main/resources 目录下创建一个名为 UserMapper.xml 的文件,并添加以下内容: ```xml <?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.example.demo.mapper.UserMapper"> <select id="findAll" resultType="com.example.demo.entity.User"> select * from user </select> </mapper> ``` 7. 在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 接口的路径。 ```java package com.example.demo; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.example.demo.mapper") public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` 至此,一个简单的 Spring Boot MyBatis 项目就搭建完成了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值