mybatis的快速入门程序测试类代码如下:
package com.tedu.mtbatis;
//编写mybatis的快速入门程序
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 org.junit.Test;
import com.tedu.pojo.Emp;
public class TestMybatis01 {
//查询员工表内的所有信息
@Test
public void findAll() throws Exception {
//1.读取mybatis的核心配置文件(mybatis-config.xml)
InputStream in=Resources.getResourceAsStream("mybatis-config.xml");
//2.基于配置信息获取一个SqlSessionFactory工厂对象
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//3.通过工厂对象获取S qlSession对象
SqlSession session=factory.openSession(true);//false默认手动提交业务,true默认自动提交业务
//4.执行sql语句,接受处理的对象,通过Emp类封装
List<Emp> list=session.selectList("EmpMapper.findAll");
//5.输出结果,
for(Emp e : list) {
System.out.println( e );
}
}
}
mybatis的核心配置文件(mybatis-config.xml)
<?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">
<!-- MyBatis的全局配置文件 -->
<configuration>
<!-- 1.配置开发环境(需设置一个默认的环境) -->
<environments default="test">
<!-- 这里可以配置多个环境,比如develop,test等 -->
<environment id="test">
<!-- 1.1.配置事务管理方式:JDBC/MANAGED JDBC:将事务交给JDBC管理(推荐) MANAGED:自己管理事务 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 1.2.配置数据源,即连接池方式:JNDI/POOLED/UNPOOLED JNDI:已过时 POOLED:使用连接池(推荐) UNPOOLED:不使用连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/yonghedb?characterEncoding=utf-8" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<!-- 2.加载Mapper配置文件(因mapper文件中配置了要执行的SQL语句) -->
<mappers>
<!-- 注意路径 -->
<mapper resource="EmpMapper.xml" />
</mappers>
</configuration>
Emp员工类用来封装数据
package com.tedu.pojo;
//员工类
public class Emp {
private Integer id;
private String name;
private String job;
private Double salary;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public Double getSalary() {
return salary;
}
public void setSalary(Double salary) {
this.salary = salary;
}
@Override
public String toString() {
return "Emp [id=" + id + ", name=" + name + ", job=" + job + ", salary=" + salary + "]";
}
}
EmpMapper—执行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一般指定为当前文件的所在包路径+文件名
将来在程序中通过[ namespace + id ]定位到执行哪一条SQL语句
-->
<mapper namespace="EmpMapper">
<!-- 通过select、insert、update、delete标签声明要执行的SQL -->
<!-- 练习1: 查询emp表中的所有员工信息
resultType指定查询的结果将会封装到什么类型中 -->
<select id="findAll" resultType="com.tedu.pojo.Emp">
select * from emp
</select>
<!--
resultType:返回值类型,简单类型(例如:Integer,String,Emp等)
如果返回集合(List<Emp>),只需配置集合中的元素类型即可!
-->
</mapper>