整体目录架构如下:

项目架构内容逐个分析:
开始搭建mybatis项目之前可以准备的工作有:
1.导入源代码(mybatis-3.2.7source(源码包)),导入的步骤可以参考该链接:https://jingyan.baidu.com/article/f006222805efddfbd2f0c850.html
2.给mybatis.xml文件加上dtd,即:
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
加上该dtd之后,按下Alt+ / 就会出现提示代码,如果没有,则可以配置上dtd:
步骤如下图:

然后:

出现功能的提示信息如图:

==================================
下面是搭建项目的步骤:
第一步:新建一个动态Web项目
第二步:导入需要的包如:

其中这几中jar包作用分别是:

第三步:在src下新建全局配置文件(编写JDBC四个变量)
3.1该xml文件没有名称和地址要求
其中xml文件的配置信息简单如下:
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- default引用environment的id,当前所使用的环境 --> <environments default="default"> <!-- 声明可以使用的环境 --> <environment id="default"> <!-- 使用原生JDBC事务 --> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis_flower"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments>
<mappers>
<!--引进mapper.xml文件,这是文件引用的方式-->
<mapper resource="com/bjsxt/mapper/FlowerMapper.xml"/> </mappers> </configuration>
第四步:新建以mapper结尾的包,在包下新建:实体类名+Mapper.xml
4.1 文件作用:编写需要执行的SQL命令
代码如下:
<?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:理解成实现类的全路径(包名+类名) --> <mapper namespace="a.b" > <!-- id:方法名 parameterType:定义参数类型 resultType:返回值类型. 如果方法返回值是list,在resultType中写List的泛型,因为mybatis 对jdbc封装,一行一行读取数据 --> <select id="selAll" resultType="com.bjsxt.pojo.Flower"> select * from flower </select> </mapper>
第五步:新建实体类:
代码如下:
package com.bjsxt.pojo;
public class Flower {
	private int id;
	private String name;
	private double price;
	private String production;
	public Flower(int id, String name, double price, String production) {
		super();
		this.id = id;
		this.name = name;
		this.price = price;
		this.production = production;
	}
	public Flower() {
		super();
	}
	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;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	public String getProduction() {
		return production;
	}
	public void setProduction(String production) {
		this.production = production;
	}
	@Override
	public String toString() {
		return "Flower [id=" + id + ", name=" + name + ", price=" + price + ", production=" + production + "]";
	}
}
第六步:编写测试类:
代码如下:
package com.bjsxt.test;
import java.io.IOException;
import java.io.InputStream;
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 com.bjsxt.pojo.Flower;
public class Test {
	public static void main(String[] args) throws IOException {
		InputStream is = Resources.getResourceAsStream("myabtis.xml");  // 文件流
		// 使用工厂设计模式
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
		// 生产SqlSession
		SqlSession session=factory.openSession();
		
		List<Flower> list = session.selectList("a.b.selAll");
		for (Flower flower : list) {
			System.out.println(flower.toString());
		}
		
		session.close();
	}
}
第七步:输出结果如下:
Flower [id=1, name=gg, price=22.0, production=33] Flower [id=2, name=ff, price=33.0, production=22] Flower [id=3, name=bb, price=44.0, production=55]
数据库数据如下:

----------------
环境搭建详解:
1.全局配置文件中内容
1.1《transactionManager/>里面的type属性可取值有:
1.1.1 JDBC事务管理使用JDBC原生事务管理方式
1.1.2MANAGED把事务管理转交给其他容器。
1.2 《dataSource》type属性的取值有:
1.2.1 POOLED 使用数据库连接池
1.2.2 UNPOOLED 不实用数据库连接池和直接使用JDBC一样
1.2.3 JNDI: 使用java命名目录接口技术
                
            
        
浙公网安备 33010602011771号