mybatis_04---映射文件①增删改查

在这里插入图片描述

映射文件的增删改查

在这里插入图片描述

Employee.java

package dao;
public class Employee {
	private Integer id;
	private String name;
	private String email;
	private String sex;
	public Employee() {
		super();		
	}
	@Override
	public String toString() {
		return "Employee [id=" + id + ", name=" + name + ", email=" + email + ", sex=" + sex + "]";
	}
	public Employee(Integer id, String name, String email, String sex) {
		super();
		this.id = id;
		this.name = name;
		this.email = email;
		this.sex = sex;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}

	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
}

EmployeeMapper.java

package dao;

import dao.Employee;
public interface EmployeeMapper {
	//通过id查找
	public Employee getEmpById(Integer id);
	//
	public void addEmp(Employee emplyee);
	
	public void deleteEmpById(Integer id);
	
	public void updateEmp(Employee employee);
}

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="dao.EmployeeMapper">
  	<!--
  		parameterType:可以省略 
  	 -->
  <insert id="addEmp" parameterType="dao.Employee">
  	insert into tb_employee(name,sex,email)
  	values(#{name},#{sex},#{email})
  </insert>
  
  <update id="updateEmp">
  	update tb_employee 
  		set name=#{name},sex=#{sex},email=#{email}
  		where id=#{id}
  </update>
  
  <delete id="deleteEmpById">
  	delete from tb_employee where id=#{id}
  </delete>
  
  <select id="getEmpById"   resultType="dao.Employee">
 	select * from tb_employee where id=#{id}
  </select>
  
 </mapper>

mybatis-config.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>
<properties resource="dbconfig.properties"></properties>

	<environments default="development">
		<environment id="development">

			<transactionManager type="JDBC" />	
			<dataSource type="POOLED">
				<property name="driver" value="${jdbc.driver}" />
				<property name="url" value="${jdbc.url}" />
				<property name="username" value="${jdbc.username}" />
				<property name="password" value="${jdbc.password}" />
				
			</dataSource>
		</environment>
	</environments>
	<!-- 添加映射文件的注册 -->
	<mappers>
	    <mapper resource="dao/EmployeeMapper.xml"/>
	</mappers>
</configuration>

dbconfig.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&allowPublicKeyRetrieval=true
jdbc.username=root
jdbc.password=jzb19981128

TestEmpDaoImpl.java

package test;
import java.io.IOException;
import java.io.InputStream;

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.jupiter.api.Test;

import dao.Employee;
import dao.EmployeeMapper;

public class TestEmpDaoImpl {
	/*
	 * 	测试增删改
	 * 1、mybatis允许增删改直接定义一些类型返回值:Integer、Long、Boolean、void
	 * 只需要在接口内的返回类型修改即可,如:public boolean deleteEmpById(Integer id);
	 * 2、需要手动提交数据
	 * 		SqlSession openSession = sqlSessionFactory.openSession();
	 * SqlSession openSession = sqlSessionFactory.openSession(true);自动提交
	 * */
	@Test
		public void test1() throws IOException {
		String resource = "mybatis-config.xml";
		InputStream in = Resources.getResourceAsStream(resource);
		
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
		//获取到的sqlSession不会自动提交数据
		SqlSession openSession = sqlSessionFactory.openSession();
		try {
			EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
			//测试添加
			Employee employee = new Employee(null, "zhangsan", "zhangsan@qq.com", "1");
			mapper.addEmp(employee);
			
			//修改
//			Employee employee = new Employee(1, "jerry", "zhangsan@qq.com", "1");
//			mapper.updateEmp(employee);
			
			//删除
			//mapper.deleteEmpById(1);
			//手动提交数据
			openSession.commit();
		}finally {
			openSession.close();
		}
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值