一、mybatis文档:https://mybatis.org/mybatis-3/zh/index.html
二、 ①下载mybatis源码:https://github.com/mybatis/mybatis-3
②因为mybatis依赖mybatis-parent所以需要下载mybatis:https://github.com/mybatis/parent
三、 ①编译mybatis-parent源码:mvn clean install
说明:前提电脑已安装maven。打开CMD进入mybatis-parent文件夹运行命令:mvn clean install
②编译mybatis源码:mvn clean; mvn install -Dmaven.test.skip=true
说明:mybatis-parent源码编译完后,进入mybatis源码文件夹运行命令:mvn clean;
成功后再运行命令:mvn install -Dmaven.test.skip=true;
注释:有可能maven-pdf-plugin 插件出错,可打开pom.xml文件注释掉这个插件
四、 将mybatis导入到IDEA(第三步也可将mybatis和mybatis-parent项目导入到IDEA使用IDEA的Terminal命令窗口操作->推荐使用)
将mybatis导入到IDEA成功后,开始准备dome运行mybais:
①创建数据库和表:库名和表名需要与后面的配置文件一致,我这里以mybatisstudy数据库、myCat表为例;
②创建实体类MyCat.java:
package com.wly.pojo;
/**
* @program: mybatis
* @author: yuanzhang
* @create: 2020-05-15 09:02
**/
public class MyCat {
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
③创建MyCatDao:
package com.wly.dao;
import com.wly.pojo.MyCat;
/**
* @program: mybatis
* @author: yuanzhang
* @create: 2020-05-15 09:11
**/
public interface MyCatDao {
MyCat getById(Long id);
}
④创建MyCatMapper.xml:
⑤创建mybatis-config.xml
⑥创建Entrance.java
package com.wly;
import com.wly.pojo.MyCat;
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 java.io.InputStream;
/**
* @program: mybatis
* @author: yuanzhang
* @create: 2020-05-15 09:15
**/
public class Entrance {
public static void main( String[] args ) throws Exception {
//加载mybatis配置文件(也会加载关联的映射文件)
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
//构建sqlSession工厂
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
MyCat myCat = sqlSession.selectOne("com.wly.dao.MyCatDao.getById", 1L);
System.out.println(myCat.getName());
}
}
现在可以启动了。我在启动时报错 java.lang.ClassNotFoundException: Cannot find class: com.mysql.jdbc.Driver
检查配置文件后没有问题:然后我改了下connector的版本,源码中版本过高
mysql
mysql-connector-java
5.1.6