Mybatis getMapper查询方式
1、实体类映射文件 Users.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">
<!-- namespace为接口包名+接口名称 -->
<mapper namespace="cn.sz.hcq.dao.IEmpDAO">
<!--
1.sql语句的id,必须与接口中定义的方法的名字一致
2.实体映射文件的namespace,必须写成 包.接口 的名字(否则会到不到sql)
3.不用写DAO的实现类,而是通过接口和反射的方式,来得到接口类型的对象,并通过这个对象来调用方法,以此实现持久化操作
-->
<select id="findallemp" resultType="cn.sz.hcq.pojo.Emp">
select
empno,ename,job,mgr,hiredate,sal,comm,deptno from emp
</select>
</mapper>
2、实体类Users.java
package cn.sz.hcq.pojo;
import java.io.Serializable;
import java.util.Date;
public class Emp implements Serializable {
private Integer empno;
private String ename;
private String job;
private Integer mgr;
private Date hiredate;
private Double sal;
private Double comm;
private Integer deptno;
public Integer getEmpno() {
return empno;
}
public void setEmpno(Integer empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public Integer getMgr() {
return mgr;
}
public void setMgr(Integer mgr) {
this.mgr = mgr;
}
public Date getHiredate() {
return hiredate;
}
public void setHiredate(Date hiredate) {
this.hiredate = hiredate;
}
public Double getSal() {
return sal;
}
public void setSal(Double sal) {
this.sal = sal;
}
public Double getComm() {
return comm;
}
public void setComm(Double comm) {
this.comm = comm;
}
public Integer getDeptno() {
return deptno;
}
public void setDeptno(Integer deptno) {
this.deptno = deptno;
}
}
3、测试查询代码
package cn.sz.hcq.test;
import java.io.Reader;
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 cn.sz.hcq.dao.IEmpDAO;
import cn.sz.hcq.pojo.Emp;
public class Test {
public static void main(String[] args) {
String resource = "mybatis_cfg.xml";// 配置文件的名字
Reader reader = null;
SqlSessionFactoryBuilder builder = null;
SqlSessionFactory factory = null;
SqlSession sqlSession = null;
try {
// 这里使用字符流,以流的形式来读取mybatis配置文件的内容
reader = Resources.getResourceAsReader(resource);
// 准备构建连接工厂的工具
builder = new SqlSessionFactoryBuilder();
// 准备连接工厂
factory = builder.build(reader);
// 获取连接
sqlSession = factory.openSession();
// 操作
// getMapper来获取实现类对象,如何调用其方法
IEmpDAO empdao = sqlSession.getMapper(IEmpDAO.class);
List<Emp> emplist = empdao.findallemp();
for (int i = 0; i < emplist.size(); i++) {
Emp emp = emplist.get(i);
System.out.println(emp.getEmpno() + "," + emp.getEname() + ","
+ emp.getJob() + "," + emp.getSal());
}
} catch (Exception e) {
e.printStackTrace();
// sqlSession.rollback();
} finally {
// 关闭连接
if (sqlSession != null) {
sqlSession.close();
}
}
}
}
IEmpDAO empdao = sqlSession.getMapper(IEmpDAO.class);
List<Emp> emplist = empdao.findallemp();