mybatis学习笔记_Sql2005增,删,改,查(mybatis_3.2.2.jar)
来源:互联网 发布:excel数据批量打印 编辑:程序博客网 时间:2024/06/07 16:49
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.javapackage 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>