目录
5、在主配置文件mybatis.xml中加入mapper标签,导入mapper文件。
1、导包
2、创建主配置文件
在src下创建mybatis的主配置文件(文件名可以任意,这里使用mybatis.xml)。可以参考http://www.mybatis.org/mybatis-3/zh/getting-started.html中——>入门——>从 XML 中构建SqlSessionFactory
<?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>
<!-- default引用environment的id,当前所使用的环境 -->
<environments default="development">
<!-- 声明可以使用的环境 -->
<environment id="development">
<!-- 使用原生JDBC事务 -->
<transactionManager type="JDBC"/>
<!-- 数据库连接,POOLED表示使用连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
</configuration>
3、创建pojo实体类
package com.soft.pojo;
public class Flower {
private int id;
private String name;
private float price;
private String production;
public Flower() {
super();
}
public Flower(int id, String name, float price, String production) {
super();
this.id = id;
this.name = name;
this.price = price;
this.production = production;
}
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 float getPrice() {
return price;
}
public void setPrice(float 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 + "]";
}
}
4、创建mapper配置文件
创建mapper包,并在该包下创建mapper文件(mapper的文件名可以任意,但建议使用pojo类名+mapper,这里使用FlowerMapper.xml)。文件内容参考http://www.mybatis.org/mybatis-3/zh/getting-started.html中——>入门——>探究已映射的 SQL 语句
4.1 mapper文件作用:编写需要执行的 SQL 命令
4.2 把 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">
<!-- namesapce:理解成实现类的全路径,名称可以任意,但是建议:包名+类名(其实就是对应JDBC源码中
的dao层的接口,注意:mybatis中可以不写dao层接口) -->
<mapper namespace="com.soft.FlowerDao">
<!-- id:方法名 (dao层接口中对应的方法名)
parameterType:定义参数类型
resultType:返回值类型.
如果方法返回值是list,在resultType中写List的泛型,因为mybatis
对jdbc封装,一行一行读取数据
-->
<select id="selAll" resultType="com.soft.pojo.Flower">
select * from flower
</select>
</mapper>
5、在主配置文件mybatis.xml中加入mapper标签,导入mapper文件。
<?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>
<!-- default引用environment的id,当前所使用的环境 -->
<environments default="development">
<!-- 声明可以使用的环境 -->
<environment id="development">
<!-- 使用原生JDBC事务 -->
<transactionManager type="JDBC"/>
<!-- 数据库连接,POOLED表示使用连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 导入mapper配置文件 -->
<mappers>
<mapper resource="com/soft/mapper/FlowerMapper.xml"/>
</mappers>
</configuration>
6、测试结果
测试环境是否搭建成功(只有在单独使用 mybatis 时使用,最后 ssm 整合时下面代码不需要编写)。
package com.soft.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.soft.pojo.Flower;
public class MyBatisTest {
public static void main(String[] args) throws IOException {
// 读取mybatis主配置文件
InputStream is = Resources.getResourceAsStream("mybatis.xml");
// 创建SqlSessionFactory工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
// 通过工厂获取SqlSession
SqlSession session = factory.openSession();
// 查询操作(selectList("")的参数对应mapper中的namespace命名空间的值+select标签的id值)
List<Flower> list = session.selectList("com.soft.FlowerDao.selAll");
// 打印查询到的数据
for (Flower flower : list) {
System.out.println(flower.toString());
}
}
}