先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Golang全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注go)
正文
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.26</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.14</version>
</dependency>
其中添加依赖时,可以直接去到本地仓库内找到对应依赖项的相关配置信息。目录结构与依赖配置映射关系如下图。
![在这里插入图片描述](https://img-blog.csdnimg.cn/dd4378394ee6428ba37b9cc3d84cd2e8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5piO5a2Q5Y-I56ew5bCP56CB5ZOl,size_20,color_FFFFFF,t_70,g_se,x_16)
org\mybatis\mybatis\3.5.1
version好找,即版本号3.5.1
版本号上一级就是项目名artfactID
项目名前面的就是groupID即包名org\mybatis 需要将右斜杠转为点
此目录是基于本地仓库目录的,仓库目录部分不用管。
配置都正确后,会在项目结构内多一个maven dependencies的目录。
![在这里插入图片描述](https://img-blog.csdnimg.cn/5a0b26639c604d6d876234448c2f4fc2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5piO5a2Q5Y-I56ew5bCP56CB5ZOl,size_7,color_FFFFFF,t_70,g_se,x_16)
如果在配置项写完之后,进行保存。代码没有出现报错,但是pom.xml文件有红×,就代表配置项写错了,maven找不到对应的依赖项。![在这里插入图片描述](https://img-blog.csdnimg.cn/b83b0dcb2dda42a78bd35015f5f326b1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5piO5a2Q5Y-I56ew5bCP56CB5ZOl,size_20,color_FFFFFF,t_70,g_se,x_16)
也可以通过右键项目,找到properties选项进去。查看对应的依赖项错误信息,找到错误的那一项。
![在这里插入图片描述](https://img-blog.csdnimg.cn/9657f13e373444e79880da09e198cb23.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5piO5a2Q5Y-I56ew5bCP56CB5ZOl,size_20,color_FFFFFF,t_70,g_se,x_16)
如上图中,junit单元测试的jar包找不到,so?这个jar包放在哪?放在本地仓库下属于junit下的目录。
![在这里插入图片描述](https://img-blog.csdnimg.cn/bd218ea4715548d59d6de9b2b17daa75.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5piO5a2Q5Y-I56ew5bCP56CB5ZOl,size_19,color_FFFFFF,t_70,g_se,x_16)
找到这个目录下你会发现,该目录并不存在junit的jar包。
我们换到junit的其他版本看一下。
![在这里插入图片描述](https://img-blog.csdnimg.cn/9030c90b731a41c78a235e93d88577a5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5piO5a2Q5Y-I56ew5bCP56CB5ZOl,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/0612e7850ebd423c9aec91bd7ab470fd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5piO5a2Q5Y-I56ew5bCP56CB5ZOl,size_17,color_FFFFFF,t_70,g_se,x_16)
这个时候发现4.11版本下有junit相关的jar文件。所以将版本号改成4.11即可解决问题,重新找到对应的依赖项。
![在这里插入图片描述](https://img-blog.csdnimg.cn/0e79072a280b4c1a9901f876cdca5113.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5piO5a2Q5Y-I56ew5bCP56CB5ZOl,size_19,color_FFFFFF,t_70,g_se,x_16)
当然这种一般是版本号不对,如果是groupID和artifactID选项填写错误的话,就一样的反查回去,把对应目录复制过来作为标签的值。
## 创建mybatis项目
在src/main/resources目录下创建资源文件mybatis-config.xml文件,即mybatis配置文件。
在其内配置实体类所在的包名,数据库基本信息,映射文件信息。
<?xml version="1.0" encoding="UTF-8"?>
<mappers>
<!-- 配置mapper映射信息 告诉mybatis映射文件在哪-->
<package name="com.lvan.mapper"></package>
</mappers>
然后再src/main/java目录下创建上述配置文件中出现的两个包。
![在这里插入图片描述](https://img-blog.csdnimg.cn/e74cbb799f5e406691325d6f8dd4ba30.png)
创建数据库和数据表过程省略,数据表结构如下图所示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/5722dab451b7401ba27c1f993cd1c4b9.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aSn5piO5a2Q5Y-I56ew5bCP56CB5ZOl,size_20,color_FFFFFF,t_70,g_se,x_16)
示例数据如下
![在这里插入图片描述](https://img-blog.csdnimg.cn/1c48d8df5a304952997bc8e04bec153a.png)
在pojo包下创建实体类
package com.lvan.pojo;
public class Employee {
private int id;
private String name;
private String gender;
private String birthday;
private String phone;
//生成getter和setter方法
//生成tostring方法
public int getId() {
return id;
}
@Override
public String toString() {
return "Employee [id=" + id + ", name=" + name + ", gender=" + gender + ", birthday=" + birthday + ", phone="
+ phone + "]";
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
在mapper包下创建实体类对应的接口文件。
package com.lvan.mapper;
import java.util.List;
import com.lvan.pojo.Employee;
public interface EmployeeMapper {
//查下所有员工的方法
List list(); //定义接口 只需要关注返回值和方法名,形参即可,无需进行实现
}
在mapper包下创建mapper接口文件对应的映射文件 同名.xml。 在编写时注意映射关系,id对应方法名,resultType 对应返回数据类型,详情看代码注释。
<?xml version="1.0" encoding="UTF-8"?>
select * from tb_employee
![在这里插入图片描述](https://img-blog.csdnimg.cn/93848bdc222f454c9ae1239be36af4bb.png)
创建一个启动类进行测试
package com.lvan.test;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
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.junit.Test;
import com.lvan.mapper.EmployeeMapper;
import com.lvan.pojo.Employee;
public class EmpTest {
private static SqlSessionFactory sqlSessionFactory;
public static void main(String[] args) throws IOException {
Reader reader=Resources.getResourceAsReader(“mybatis-config.xml”);//从本地读取mybatis配置文件
sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);
reader.close();
SqlSession sqlSession=sqlSessionFactory.openSession();//打开sql连接
EmployeeMapper empMapper=sqlSession.getMapper(EmployeeMapper.class);//将mapper接口文件传递过去构出对象
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
[外链图片转存中…(img-VRffCYv8-1713712106878)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!