|
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=newClassPathXmlApplicationContext("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));
}
}
效果图:
|
|
|