MyBatis原始开发dao

mybatis-config.xml配置

这里加了个typeAliases标签,给实体类起别名。

<?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="jdbc/db.properties"></properties>
  
  <typeAliases>
  	<package name="com.yf.domain"/><!-- 使用类别名 -->
  </typeAliases>
  <!--  环境配置 -->
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
  <!-- 映射器 -->
  <mappers>
    <mapper resource="mybatis/mapper/ProvinceMapper.xml"/>
    <mapper resource="mybatis/mapper/CityMapper.xml"/>
    <mapper resource="mybatis/mapper/DeptMapper.xml"/>
    <mapper resource="mybatis/mapper/EmpMapper.xml"/>
  </mappers>
</configuration>

db.properties文件

url=jdbc:oracle:thin:@localhost:1521:orcl
username=scott
password=123456
driver=oracle.jdbc.driver.OracleDriver

EmpMapper.xml文件

<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="emp">
	<select id="selectAllEmps" resultType="emp">
		select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp
	</select>
	<select id="selectEmpByEmpno" parameterType="int" resultType="emp">
		select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where empno=#{empno}
	</select>
	<insert id="insertEmp" parameterType="emp">
		insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) 
		values(#{empno},#{ename},#{job},#{mgr},#{hiredate},#{sal},#{comm},#{deptno})
	</insert>
	<update id="updateEmp" parameterType="emp">
		update emp set ename=#{ename},job=#{job},mgr=#{mgr},hiredate=#{hiredate},sal=#{sal},comm=#{comm},deptno=#{deptno} where empno=#{empno}
	</update>
	<delete id="deleteEmp" parameterType="int">
		delete from emp where empno=#{empno}
	</delete>
</mapper>

包结构

EmpMapperImpl实现类

package com.yf.mapper.impl;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.yf.domain.Emp;
import com.yf.mapper.EmpMapper;
import com.yf.util.DBUtil;

/**
 * 员工表数据访问对象实现类
 * @author YFAN
 *
 */
public class EmpMapperImpl implements EmpMapper {
	/**
	 * 查询所有员工
	 */
	@Override
	public List<Emp> selectAllEmps() {
		SqlSession session=DBUtil.getSession();
		List<Emp> emps=session.selectList("emp.selectAllEmps");
		session.close();
		return emps;
	}
	/**
	 * 通过员工编号查询某个员工
	 */
	@Override
	public Emp selectEmpByEmpno(Integer empno) {
		SqlSession session=DBUtil.getSession();
		Emp emp=session.selectOne("emp.selectEmpByEmpno",empno);
		session.close();
		return emp;
	}
	/**
	 * 添加员工
	 */
	@Override
	public int insertEmp(Emp emp) {
		SqlSession session=DBUtil.getSession();
		int result=session.insert("emp.insertEmp", emp);
		session.commit();
		session.close();
		return result;
	}
	/**
	 * 更新员工信息
	 */
	@Override
	public int updateEmp(Emp emp) {
		SqlSession session=DBUtil.getSession();
		int result=session.update("emp.updateEmp", emp);
		session.commit();
		session.close();
		return result;
	}
	/**
	 * 删除员工
	 */
	@Override
	public int deleteEmp(Integer empno) {
		SqlSession session=DBUtil.getSession();
		int result=session.delete("emp.deleteEmp", empno);
		session.commit();
		session.close();
		return result;
	}

}

MyBatis原始开发dao,接口、方法、代码存在大量模板,看起来十分笨重,不能充分发挥MyBatis功力。

Test测试类

import java.util.Date;
import java.util.List;

import com.yf.domain.Emp;
import com.yf.mapper.impl.EmpMapperImpl;

public class TestEmp {

	public static void main(String[] args) {
		EmpMapperImpl empMapper=new EmpMapperImpl();
		queryAllemps(empMapper);
//		insertEmp(empMapper);
//		updateEmp(empMapper);
//		deleteEmp(empMapper);
	}

	private static void deleteEmp(EmpMapperImpl empMapper) {
		int rows=empMapper.deleteEmp(9999);
		System.out.println(rows);
	}

	private static void updateEmp(EmpMapperImpl empMapper) {
		Emp emp=new Emp(9999, "测试2", "游戏测试", 7839, new Date(), 4000.9, 520.01, 10);
		int rows=empMapper.updateEmp(emp);
		System.out.println(rows);
	}

	private static void insertEmp(EmpMapperImpl empMapper) {
		Emp emp=new Emp(9999, "测试", "游戏测试", 7839, new Date(), 4000.9, 520.01, 10);
		int rows=empMapper.insertEmp(emp);
		System.out.println(rows);
	}

	private static void queryAllemps(EmpMapperImpl empMapper) {
		List<Emp> emps=empMapper.selectAllEmps();
		System.out.println(emps.toString());
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值