Mybatis getMapper查询方式

来源:互联网 发布:杭州知实食品有限公司 编辑:程序博客网 时间:2024/05/18 00:31

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">selectempno,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();}}}}


通过getMapper来获取实现类对象,如何调用方法查询
IEmpDAO empdao = sqlSession.getMapper(IEmpDAO.class);
List<Emp> emplist = empdao.findallemp();


原创粉丝点击