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">
<configuration>
<properties resource="db.properties"></properties>
<typeAliases>
<package name="vo"/>
</typeAliases>
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<!-- 数据源的配置,URL,用户名 密码 数据库 -->
<dataSource type="POOLED">
<property name="driver" value="${db.driver}"/>
<property name="url" value="${db.url}"/>
<property name="username" value="${db.username}"/>
<property name="password" value="${db.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/sdbairui/mapper/EmpMapper.xml"/>
</mappers>
</configuration>
EmpMapper.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">
<mapper namespace="mapper.EmpMapper">
</mapper>
EmpMapper.java
:
package mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import vo.Banji;
import vo.Emp;
import vo.Stu;
import vo.XueSheng;
public interface EmpMapper {
//在DAO中定义的抽象方法要和映射文件中的id值匹配起来,映射中的参数就是此处的方法的参数
@Select(value="select * from stu")
public List<Emp> findAll();
}
EmpTest.java
:
package 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 mapper.EmpMapper;
import vo.Emp;
public class EmpTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
InputStream input = null;
SqlSessionFactory sqlSessionFactory = null;
SqlSession sqlSession = null;
try {
//1.定位MyBatis的主配置文件
input = Resources.getResourceAsStream("mybatis-config.xml");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
//2.根据配置文件创建SqlSessionFactory
sqlSessionFactory = new SqlSessionFactoryBuilder().build(input);
//3.使用SqlSessionFactory生产SqlSession
sqlSession = sqlSessionFactory.openSession();
EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class);
//4、使用SqlSession调用相应的方法完成操作
List<Emp> list = empMapper.findAll();//com.sdbairui.mapper.EmpMapper.findAll
for(Emp emp : list) {
System.out.println(emp.getSname()+" "+emp.getSex());
}
//5.提交
sqlSession.commit();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
//如果出现了异常则回滚
if(sqlSession!=null) {
sqlSession.rollback();//回滚
}
}finally {
//6、关闭sqlSession
if(sqlSession!=null) {
sqlSession.close();
}
}
}
}