mybatis(4):增删改查(insert+select+update+delete)(上集)

来源:互联网 发布:u盘中毒数据恢复 编辑:程序博客网 时间:2024/06/05 10:42

学会掌握了mybatis的增删改查方法,应用在mysql上。

1、Employeemapper.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="com.DAO.EmpDAO"><!-- namespace:名称空间;指定为接口的全类名id:唯一标识resultType:返回值类型#{id}:从传递过来的参数中取出id值public Employee getEmpById(Integer id); --><select id="getEmpById" resultType="com.Emp.Employee">select id,lastname,email,gender from employee where id = #{id}</select><select id="getEmp" resultType="com.Emp.Employee">select * from employee </select><insert id="addEmp" parameterType="com.Emp.Employee">insert into employee (lastname,email,gender) values (#{lastname},#{email},#{gender})</insert><update id="updateEmp">update employee set lastname = #{lastname},email=#{email},gender=#{gender} where id=#{id}</update><delete id="deleteEmp">delete from employee where id=#{id}</delete></mapper>


2、接口编程,所以写了一个接口EmpDAO.java:


package com.DAO;import com.Emp.Employee;public interface EmpDAO {public Employee getEmpById(Integer id);public boolean addEmp (Employee emp);public void updateEmp (Employee emp);public void deleteEmp (Integer id);public Employee getEmp();}

3、对应的数据模型为Employee.java:


package com.Emp;public class Employee {private int id;private String lastname;private String email;private String gender;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getLastname() {return lastname;}public void setLastname(String lastname) {this.lastname = lastname;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}@Overridepublic String toString() {return "Employee [id=" + id + ", lastname=" + lastname + ", email=" + email + ", gender=" + gender + "]";}public Employee( String lastname, String email, String gender) {super();this.lastname = lastname;this.email = email;this.gender = gender;}public Employee( int id ,String lastname, String email, String gender) {super();this.id = id;this.lastname = lastname;this.email = email;this.gender = gender;}public Employee() {}}

4、测试文件EmployeeTest,进行单元测试:


package com.Emp;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Test;import com.DAO.EmpDAO;public class EmployeeTest {public SqlSessionFactory getSqlSessionFactory() throws IOException {//1.sessionfactory 由文件读取数据流确定String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);return new SqlSessionFactoryBuilder().build(inputStream);}@Testpublic void test() throws IOException {//2.sessionfactory创建sessionSqlSessionFactory sqlsessionfactory = getSqlSessionFactory();SqlSession session =sqlsessionfactory.openSession();Employee emp = new Employee("mmb","123@qq.com","1");try{//3.session的getmapper,创建映射对象EmpDAO empmapper = (EmpDAO) session.getMapper(EmpDAO.class);List<Employee> aa = new ArrayList<Employee>();Employee e = new Employee(16,"abc","123@qq.com","1"); //insert + commit//System.out.println(empmapper.addEmp(emp));//session.commit();//select//e = empmapper.getEmpById(16);//System.out.println("result:"+e.toString());//update + commit// emp = new Employee(16,"abc","123@qq.com","1");// empmapper.updateEmp(emp);// session.commit();//delete + commit//empmapper.deleteEmp(16);//session.commit();}finally{session.close();}}}





阅读全文
0 0