MyBatis--增删改查

1.基础的增删改查

  EmployeeMapper.java

public interface EmployeeMapper {

    public Employee getEmployeeID(Integer id);

    public boolean insertEmployee(Employee employee);

    public boolean updateEmployee(Employee employee);

    public boolean deleteEmployeeID(Integer id);
}

  EmployeeMapper.xml中的mapper部分

<mapper namespace="dao.EmployeeMapper">

	<select id="getEmployeeID" resultType="bean.Employee" databaseId="mysql">
		select * from employee where id = #{id}
	</select>

	<insert id="insertEmployee">
		INSERT INTO employee(name,sex,email) VALUES (#{name},#{sex},#{email})
	</insert>

	<update id="updateEmployee">
		UPDATE employee SET name=#{name},sex=#{sex},email=#{email} WHERE id=#{id}
	</update>

	<delete id="deleteEmployeeID">
		DELETE  FROM employee WHERE id=#{id}
	</delete>

</mapper>

  test函数

/**
 	* MyBatis允许增删改直接定义Integer、Long、Boolean、void类型的返回值
 	* @throws IOException
 	*/   
 	@Test
    public void test2() throws IOException {
        //1.获取sqlSession
        SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
	  //openSession(true):设置自动提交
        SqlSession sqlSession = sqlSessionFactory.openSession();

        //2.获取Mapper
        EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);

        //3.执行函数
        Employee employee1= new Employee(null,"zzw","男","250@qq.com");
        Boolean b1 = employeeMapper.insertEmployee(employee1);

//        Employee employee2 = new Employee(1,"litao","女","2125@qq.com");
//        Boolean b2 = employeeMapper.updateEmployee(employee2);
//
//        Boolean b3 = employeeMapper.deleteEmployeeID(3);
//
//        Employee employee4 = employeeMapper.getEmployeeID(1);

        //4.手动提交
        sqlSession.commit();
        //5.关闭资源
        sqlSession.close();
    }

2.获取自增主键的值

  EmployeeMapper.xml中的mapper的insert部分

<!-- 
	useGeneratedKeys="true":使用自增主键获取主键值策略
	keyProperty:mybatis获取到主键值封装给javaBean的哪个属性
-->
<insert id="insertEmployee" useGeneratedKeys="true" keyProperty="id">
	INSERT INTO employee(name,sex,email) VALUES (#{name},#{sex},#{email})
</insert>

  test函数的部分

Employee employee1= new Employee(null,"zzz","男","251@qq.com");
Boolean b1 = employeeMapper.insertEmployee(employee1);
System.out.println(employee1);		//将主键值直接返回到了id属性中

3.查询返回值为List类型

  Mapper接口函数

public List<Employee> getEmployeeName(String name);

  Mapper.xml(resultType依然等于Employee,不是List)

<select id="getEmployeeName" resultType="bean.Employee" databaseId="mysql">
	select * from employee where name LIKE #{name}
</select>

  test函数部分

List<Employee> list = employeeMapper.getEmployeeName("%z%");
System.out.println(list);

4.查询返回值为Map类型

 4.1返回值为默认的Map

   Mapper接口函数

public Map<String,Object> getEmployeeMap1(Integer id);

   Mapper.xml(resultType等于map)

<select id="getEmployeeMap1" resultType="map" databaseId="mysql">
	select * from employee where id = #{id}
</select>

   test函数部分

Map<String,Object> map = employeeMapper.getEmployeeMap1(1);
System.out.println(map);

 4.2返回值为自定义的Map

   Mapper接口函数(@MapKey(“id”)指明返回的Map中key的类型)

@MapKey("id")
public Map<Integer,Employee> getEmployeeMap2(String name);

   Mapper.xml(resultType等于Employee)

<select id="getEmployeeMap2" resultType="bean.Employee" databaseId="mysql">
	select * from employee where name LIKE #{name}
</select>

   test函数部分

Map<Integer,Employee> map = employeeMapper.getEmployeeMap2("%z%");
System.out.println(map);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值