Emp.java
package org.xiangjie.vo;
/**
* @author 向洁
* 实体类EMP
*/
public class Emp {
private String empId; //部门编号
private String empName;//部门名称
private String empTime;//成立时间
/*生成get and set 方法*/
public String getEmpId() {
return empId;
}
public void setEmpId(String empId) {
this.empId = empId;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public String getEmpTime() {
return empTime;
}
public void setEmpTime(String empTime) {
this.empTime = empTime;
}
empDao.java
package org.xiangjie.dao;
import java.util.List;
import org.xiangjie.vo.Emp;
/**
* @author 向洁
* 定义数据库访问接口empDao
*/
public interface empDao {
//插入数据
public void insertMessage(Emp emp);
//删除数据
public void deleteMessage(Emp emp);
//修改数据
public void updateMessage(Emp emp);
//查询数据(所有)
public List<Emp> selectAllMessage();
}
empUtil.java
package org.xiangjie.util;
import java.io.IOException;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
/**
* @author 向洁
* 工具类
*/
public class empUtil {
/**
* 获得MyBatis SqlSessionFactory
* SqlSessionFactory负责创建SqlSession,一旦创建成功,就可以用SqlSession实例来执行映射语句,commit,rollback,close等方法。
* @return
*/
public static SqlSessionFactory getSessionFactory() {
SqlSessionFactory sessionFactory = null;
try{
sessionFactory =new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader("configration.xml"));
}
catch(IOException e){
e.printStackTrace();
}
return sessionFactory;
}
}
empDapImpl.java
package org.xiangjie.dao.impl;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.xiangjie.dao.empDao;
import org.xiangjie.util.empUtil;
import org.xiangjie.vo.Emp;
/**
* @author 向洁
* 实现类empDao_Impl
*/
public class empDaoImpl implements empDao {
//添加数据的实现
public void insertMessage(Emp emp) {
SqlSession session=empUtil.getSessionFactory().openSession();
session.insert(Emp.class.getName()+".insert_Emp",emp);//通过session调用insert方法执行插入语句
session.commit();
session.close();
//System.out.print(Emp.class.getName());
}
//删除数据的实现
public void deleteMessage(Emp emp) {
SqlSession session=empUtil.getSessionFactory().openSession();
session.delete(Emp.class.getName()+".delete_Emp",emp);//通过session调用insert方法执行插入语句
session.commit();
session.close();
}
//修改数据的实现
public void updateMessage(Emp emp) {
SqlSession session=empUtil.getSessionFactory().openSession();
session.update(Emp.class.getName()+".update_Emp",emp);
session.commit();
session.close();
}
//查询数据(所有)的实现
public List<Emp> selectAllMessage() {
SqlSession session=empUtil.getSessionFactory().openSession();
List<Emp> list=session.selectList(Emp.class.getName()+".selectAll_Emp");
session.commit();
session.close();
return list;
}
}
empTest.java
package org.xiangjie.test;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.xiangjie.dao.empDao;
import org.xiangjie.dao.impl.empDaoImpl;
import org.xiangjie.util.empUtil;
import org.xiangjie.vo.Emp;
/**
* @author 向洁
* 测试
*/
public class empTest {
empDao empdao = new empDaoImpl();
public static void main(String[] args) {
empTest emptest=new empTest();
//emptest.insert_Test();
//emptest.delete_Test();
//emptest.update_Test();
emptest.selectAll_Test();
}
//添加部门数据
public void insert_Test()
{
Emp emp1=new Emp();
emp1.setEmpId("E004");
emp1.setEmpName("李四");
emp1.setEmpTime("2013/5/13");
empdao.insertMessage(emp1);
System.out.println("添加数据成功!");
}
//删除部门数据
public void delete_Test()
{
Emp emp1=new Emp();
emp1.setEmpId("E004");
empdao.deleteMessage(emp1);
System.out.println("删除数据成功!");
}
//修改部门数据
public void update_Test()
{
Emp emp1 =new Emp();
emp1.setEmpId("E003");
emp1.setEmpName("向南");
//emp1.setEmpTime("2013/5/16");
empdao.updateMessage(emp1);
System.out.println("修改数据成功!");
}
//查询部门所有数据
public void selectAll_Test()
{
List<Emp> list=empdao.selectAllMessage();
if(list !=null&list.size()>0)
{
for(Emp emp:list)
{
System.out.println("部门编号:"+emp.getEmpId()+","+"部门名称:"+emp.getEmpName()+","+"成立时间:"+emp.getEmpTime());
}
}
}
}
映射文件empMapper.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">
<mapper namespace="org.xiangjie.vo.Emp">
<!-- 配置ORM映射 -->
<resultMap type="Emp" id="Emp">
<result property="empId" column="EMP_ID"/>
<result property="empName" column="EMP_Name"/>
<result property="empTime" column="EMP_TIME"/>
</resultMap>
<insert id="insert_Emp" parameterType="Emp">
insert into EMP(EMP_ID,EMP_NAME,EMP_TIME) values(#{empId},#{empName},#{empTime})
</insert>
<update id="update_Emp" parameterType="Emp">
update EMP set EMP_NAME=#{empName} where EMP_ID=#{empId}
</update>
<delete id="delete_Emp" parameterType="int">
delete from EMP where EMP_ID=#{empId}
</delete>
<select id="selectAll_Emp" useCache="false" flushCache="true" resultMap="Emp">
select * from EMP
</select>
</mapper>
配置文件configration.xml
<?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>
<typeAliases>
<!--给实体类起一个别名Emp -->
<typeAlias type="org.xiangjie.vo.Emp" alias="Emp" />
</typeAliases>
<!-- 数据源配置 SQL Server 2005 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://127.0.0.1:1433;databaseName=Mybatiss_DB"/>
<property name="username" value="sa"/>
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
<mappers>
<!--empMapper.xml装载进来 同等于把"dao"的实现装载进来 -->
<mapper resource="org/xiangjie/vo/empMapper.xml" />
</mappers>
</configuration>