SpringBoot简介(个人理解)
SpringBoot框架,我个人理解他就是一个架子,可以使我们的开发更加简单,详细的介绍自行查阅百度百科和官网。
开发环境
数据库:MySQL
IDE:IntelliJ IDEA2018.3.6
起步
第一步我们要把架子搭起来,就像衣架必须得支起来才能搭衣服衣服一样
打开IDEA新建一个项目
选择Spring Initializr,点击Next
进入以下界面
进入这个页面之后,上面的一些文字信息都可以保持默认,毕竟是初学者能不改就不改,免得出现问题不知道怎么解决,但是略有小成或者参加工作之后,这些文字信息就要做一些相对应的改动。
文字信息可以暂时不改,不过红框里的几个选项要注意一下,Type我们选择Gradle Project,它默认是Maven,需要改一下,再一个就是Java版本。
点击Next,进入以下页面
选择我们要用到的一些依赖,图片中红框内的内容
点击Next,进入以下页面
这里是文件的名字和保存目录,可以做对应的更改,点击Finish,我们就可以进入代码编辑了
注意:这里的Gradle是自己手动安装的,第一次运行的时候IDEA也会自己下载,但是下载速度非常慢,建议手动安装
架子搭好之后我们先看一下它的基础目录结构
我们要着重了解src下的mian目录里面的java文件夹和resources文件,Java文件夹主要放我们的java代码文件,resources文件夹主要放我们的xml配置文件。
我们先来看一下build.gradle文件
红框里面的内容就是我们通过gradle下载导入的依赖包。
看完这些东西之后我们就要正式开始了。
正式开始
第一步:打开Mybatis官网 gradle只是一个工具来方便我们导入各种jar包也就是依赖文件,前期主要侧重于Mybatis的学习,学习一个新的东西最简单的方式就是看官网。
打开官网,点击入门
这里有必要说一下,右边的安装教程大家可以不用太在意,因为我们用的并不是Maven而是Gradle,二者在功能上没有太大的差别,都是一个工具,只是导入依赖的方式不一样,不必纠结这个东西。
官网页面下拉
看到这个代码块,这个就是核心配置文件,我们就在resources文件夹里创建一个mybatis-config.xml文件,然后把官网的这串代码复制到这个xml文件里
<?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核心配置文件-->
<!--连接数据库-->
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/idea?serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="666666"/>
</dataSource>
</environment>
</environments>
<!--每一个mapper.xml文件都需要在mybatis核心配置文件里面注册-->
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
这里面对应的一些东西要按照自己的进行改动,我建议自行去官网复制,这样可以增加一下印象
这样我们的核心配置文件就完成了,开始下一步
映射SQL语句这个是基于xml文件的,所以我们在resources文件夹里创建一个UserMapper.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">
<!--namespace要绑定一个对应的Dao/Mapper接口-->
<mapper namespace="com.example.demo">
<!--查询语句-->
<!--id对应的namespace中的方法名,resultType是Sql语句执行的返回值-->
<!--查询所用用户-->
<select id="getUserList" resultType="com.example.demo.User">
select * from idea.user
</select>
</mapper>
这一串代码在Mybatis的官网上也有,也是复制粘贴来的,当然对应位置要做相应的改动。
写完这两个文件我们就可以链接数据库并查询对应库里的数据
这个数据需要展示在我们的控制台才可以,所以我们还需要一个Java文件,写一段java代码,前面提到过java文件要放在Java目录下,所以我们去java目录创建一个User.java文件
具体代码
package com.example.demo;
//实体类
public class User {
private int ID;
private String NAME;
public User() {
}
public User(int ID, String NAME) {
this.ID = ID;
this.NAME = NAME;
}
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}
public String getNAME() {
return NAME;
}
public void setNAME(String NAME) {
this.NAME = NAME;
}
@Override
public String toString() {
return "User{" +
"ID=" + ID +
", NAME='" + NAME + '\'' +
'}';
}
}
这一串代码官网上没有,需要自己敲,IDEA中有快捷键可以快速敲出来,如果不会就复制过去,需要注意里面的ID,NAME这些要对应数据库里的字段名,大小写都必须一样。
写完这个就基本完事了,当然还没有完,我们还需要把它给运行起来
我们需要在这个文件里面来写最后的代码,让它运行起来,这个文件是项目建立的时候自动生成的,按着正确的方式我们需要在test文件里创建测试代码,先进行测试,但是我不想搞这么麻烦,毕竟是初学,步骤多了反而容易出错,还不知道错在那,所以我们就直接在这个文件里面敲代码。
package com.example.demo;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) throws IOException {
// 一下三行代码官网复制
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 通过sqlSessionFactory获取openSession方法
SqlSession Session = sqlSessionFactory.openSession();
// 通过Session的selectList方法来使用UserMapper.xml中的Sql语句,getUserList对应的就是xml文件中select标签里的id
List<User> getUserList = Session.selectList("getUserList");
// 返回值是一个列表,所以要通过for循环,一一拿出
for (User user : getUserList) {
System.out.println(user);
}
}
}
注意看代码里的注释,有几行代码是从官网复制过来的,也可以说到目前为止,执行最多的操作就是复制粘贴,大部分的代码都是人家已经敲好的,我们直接复制过来用就好了,由此可见,对编程这个行业来说,学习一门新的东西,它对应的官网就或者说明文档是最好最新最全的教课书
我们点击一下运行,看看结果
成功运行
最后
最后需要注意一下,编写代码时对变量命名还有分类,什么样的文件放在什么文件里面都是有一定说法的,不是随便放的,就像这个项目一样,本来还需要一些dao文件夹,pojo文件夹,utils文件夹,来放不同的代码文件,把代码拆分开,而不是像这样把所有代码都基本放在一起,但是我觉得目前不用弄这么多,还是那句话,初学一门技术,弄得越多容易出错,还不知道错在哪,还不如简单明了一些,起码自己一看就可以明白,等以后小有所成后,再去研究这些。