Spring+MyBatis scott用户根据 no 查找数据

Emp 实体类及Mapper.xml

package cn.entity;
import java.io.Serializable;
import java.util.Date;
/**
 * 员工类
 */
@SuppressWarnings("serial")
public class Emp implements Serializable {
	private Integer empno;
	private String ename;
	private String job;
	private String mgr;
	private Date hiredate;
	private Double salary;	//工资属性名改了
	private Double comm;
	private Integer deptno;
	@Override
	public String toString() {
		return "Emp [empno=" + empno + ", ename=" + ename + ", job=" + job + ", mgr=" + mgr
				+ ", hiredate=" + hiredate + ", sal=" + salary + ", comm=" + comm + ", deptno="
				+ deptno + "]";
	}
	public Emp(Integer empno, String ename, String job, String mgr, Date hiredate, Double sal,
			Double comm, Integer deptno) {
		super();
		this.empno = empno;
		this.ename = ename;
		this.job = job;
		this.mgr = mgr;
		this.hiredate = hiredate;
		this.salary = sal;
		this.comm = comm;
		this.deptno = deptno;
	}
	public Double getSalary() {
		return salary;
	}
	public void setSalary(Double salary) {
		this.salary = salary;
	}
	public Emp() {
		super();
	}
	public Emp(Integer empno) {
		super();
		this.empno = empno;
	}
	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 String getMgr() {
		return mgr;
	}
	public void setMgr(String mgr) {
		this.mgr = mgr;
	}
	public Date getHiredate() {
		return hiredate;
	}
	public void setHiredate(Date hiredate) {
		this.hiredate = hiredate;
	}
	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;
	}
}

 

<?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="cn.dao.EmpDao">
	<resultMap type="Emp" id="empMap">
		<result column="sal" property="salary" javaType="double"/>
	</resultMap>
	<select id="findByNo" parameterType="java.lang.Integer" resultType="Emp">
		<![CDATA[
			select empno, ename, job, mgr, hiredate, sal, comm, deptno from emp where empno = #{empno}
		]]>
	</select>
</mapper>

 

EmpDao 数据访问层

package cn.dao;
import cn.entity.Emp;
public interface EmpDao {
	/**
	 * 根据 no 查找数据
	 * @param empno
	 * @return
	 */
	public Emp findByNo(Integer empno);
}

 

package cn.dao.impl;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import cn.dao.EmpDao;
import cn.entity.Emp;
public class EmpDaoImpl extends SqlSessionDaoSupport implements EmpDao {
	public Emp findByNo(Integer empno) {
		return super.getSqlSession().selectOne("findByNo", empno);
	}
}

 

applicationContext.xml 配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
	<!-- 配置数据源 -->
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="oracle.jdbc.OracleDriver" />
		<property name="url" value="jdbc:oracle:thin:@localhost:1521:oracle11" />
		<property name="username" value="scott" />
		<property name="password" value="tiger" />
	</bean>
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<description>会话工厂的配置</description>
		<property name="dataSource" ref="dataSource"></property>
		<property name="mapperLocations">
			<array>
				<value>cn/entity/Emp-Mapper.xml</value>
			</array>
		</property>
		<property name="typeAliases">
			<array>
				<value>cn.entity.Emp</value>
			</array>
		</property>
	</bean>
	<bean id="empDao" class="cn.dao.impl.EmpDaoImpl">
		<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
	</bean>
</beans>

 

EmpTest 测试类

package cn.test;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.dao.EmpDao;
public class EmpTest {
	EmpDao empDao;
	static ApplicationContext ctx;
	@BeforeClass  
	public static void init(){
		ctx=new	ClassPathXmlApplicationContext("applicationContext.xml");
	}
	@Before 
	public void setUp(){
		empDao=(EmpDao) ctx.getBean("empDao");
	}
	@After
	public void tearDown(){
		empDao=null;
	}
	@AfterClass
	public static void destory(){
		ctx=null;
	}
	@Test
	//根据 no 查找数据
	public void testFindByNo(){
		System.out.println(empDao.findByNo(7782));
	}
}

 

效果图:

 

 

 

你可能感兴趣的:(mybatis)