- apach-maven-3.8.4
链接:https://pan.baidu.com/s/1j_AuFWlpv6P4OxabR4_evQ
提取码:Lvan - mybatis依赖
mybatis主要依赖项有四个,这里将其所需要的依赖先下载下来,也可以在有网络的环境下直接下载,然后拿过来使用。
链接:https://pan.baidu.com/s/1xL58z3jmKsY25CkvlVeg5w
提取码:Lvan - Eclipse下载
这里我上传的是安装了很多插件的绿色版的Eclipse,大家也可以自行下载其他的版本。 如下图所示,插件是真的多。
链接:https://pan.baidu.com/s/1GZJiZr9rRFEr1L71IIUHtQ
提取码:Lvan
配置maven
将下载的apach-maven的压缩包解压到你想存放的目录,找到conf目录下的settings.xml文件。
修改配置项(大约在55行左右)。
<localRepository>G:\server\apache-maven-3.8.4\maven_jar</localRepository>
修改本地仓库地址到带了mybatis依赖项的的解压目录。如G:\server\apache-maven-3.8.4\maven_jar
如果是有网状态下的话,可以更改如下配置项,将仓库地址改到aliyun或者淘宝的。本文介绍的是离线版本,所以下述配置项不需要管。
<mirrors>
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
</mirrors>
更改eclipse中maven的配置项,在工具栏的window选项下找到Preferences选项。
找到maven的配置项下有个user settings。点击global settings 栏中的Browser按钮,选择maven的配置文件。
在文件选选项框中找到前面修改的settings.xml文件。打开即可。
打开后会有个提示框,大概内容是maven配置已更新,提问你是否更新当前项目依赖。
最好将user settings选项也更改一下,改到和Global settings一样的即可。
最终改成功后,就会出现local repository的提示信息了。
最后在点击Apply选项应用即可。
创建maven project
点击工具栏左上角的File选项。New一个maven Project。
如果找不到maven project选项的。就找到选项卡最下方的other选项。
在弹出框内找到Maven目录,展开即可找到Maven project选项了。
然后点击Next、然后勾选create a simple project,,创建一个简单的maven项目。
接着配置项目的包名和项目名。
完整的maven 项目结构如下图。如果pom文件出现报错,则settings文件对应的本地仓库有误,导致无法找到对应的maven插件,需要重新配置正确的本地仓库地址。
使用maven管理依赖
打开项目下的pom.xml文件。
更改pom.xml中的配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lvan</groupId>
<artifactId>demo206</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 在pom.xml文件内 配置项目所需的依赖 在联网的情况下,会自动从远程仓库下载-->
<!-- dependencies 内部的为依赖项 -->
<dependencies>
<!-- dependency就是一个依赖 不能内嵌 -->
<dependency>
<!-- org\mybatis 包名 \mybatis\ 项目名3.5.1 -->
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
<!-- junit单元测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<!-- 日志文件 -->
<dependency>
<groupId>org.slf4j</groupId>
<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>
</dependencies>
</project>
其中添加依赖时,可以直接去到本地仓库内找到对应依赖项的相关配置信息。目录结构与依赖配置映射关系如下图。
org\mybatis\mybatis\3.5.1
<!-- org\mybatis 包名 \mybatis\ 项目名3.5.1 -->
version好找,即版本号3.5.1
版本号上一级就是项目名artfactID
项目名前面的就是groupID即包名org\mybatis 需要将右斜杠转为点
此目录是基于本地仓库目录的,仓库目录部分不用管。
配置都正确后,会在项目结构内多一个maven dependencies的目录。
如果在配置项写完之后,进行保存。代码没有出现报错,但是pom.xml文件有红×,就代表配置项写错了,maven找不到对应的依赖项。
也可以通过右键项目,找到properties选项进去。查看对应的依赖项错误信息,找到错误的那一项。
如上图中,junit单元测试的jar包找不到,so?这个jar包放在哪?放在本地仓库下属于junit下的目录。
找到这个目录下你会发现,该目录并不存在junit的jar包。
我们换到junit的其他版本看一下。
这个时候发现4.11版本下有junit相关的jar文件。所以将版本号改成4.11即可解决问题,重新找到对应的依赖项。
当然这种一般是版本号不对,如果是groupID和artifactID选项填写错误的话,就一样的反查回去,把对应目录复制过来作为标签的值。
创建mybatis项目
在src/main/resources目录下创建资源文件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>
<!-- 配置实体类所在的包 告诉mybatis我的实体类都放在哪 -->
<package name="com.lvan.pojo"/>
</typeAliases>
<environments default="devlopment">
<environment id="devlopment">
<!-- 配置数据库连接方式 -->
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<!-- 配置数据库的连接信息,mybatis读取这些信息才能连接到数据库 -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/db_emp"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 配置mapper映射信息 告诉mybatis映射文件在哪-->
<package name="com.lvan.mapper"></package>
</mappers>
</configuration>
然后再src/main/java目录下创建上述配置文件中出现的两个包。
创建数据库和数据表过程省略,数据表结构如下图所示。
示例数据如下
在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<Employee> list(); //定义接口 只需要关注返回值和方法名,形参即可,无需进行实现
}
在mapper包下创建mapper接口文件对应的映射文件 同名.xml。 在编写时注意映射关系,id对应方法名,resultType 对应返回数据类型,详情看代码注释。
<?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">
<!-- 命名空间 指定该xml映射的目标文件,目标文件为一个接口文件 -->
<!-- namespace="com.lvan.mapper.EmployeeMapper" 代表的是帮com.lvan.mapper包下的EmployeeMapper接口" -->
<mapper namespace="com.lvan.mapper.EmployeeMapper">
<!-- 以查询标签的方式来实现对应接口的方法 id值为接口文件中的方法名 resultType对应了方法要返回的实体类对象 com.lvan.pojo包下Employee类-->
<select id="list" resultType="com.lvan.pojo.Employee">