【MyBatis框架】Mybatis开发dao方法第二部分

下面来继续讨论mybatis开发Dao的方法

我们前面使用原始的Dao开发方法,发现了许多弊端,我们下面使用mapper代理来写Dao方法。

1.mapper代理方法(程序员只需要mapper接口(相当 于dao接口))

开发人员需要先编写Mapper接口(相当 于dao接口),需要遵循一些开发规范,mybatis可以自动生成mapper接口实现类代理对象。
package cn.edu.hpu.mybatis.mapper;

import cn.edu.hpu.mybatis.PO.User;

//用户管理的Dao接口
public interface UserMapper {
	
	//根据Id查询用户信息
	public User findUserById(int id) throws Exception;
	
	//添加用户信息
	public void insertUser(User user) throws Exception;
	
	//删除用户信息
	public void deleteUser(int id) throws Exception;
	
	//修改用户信息
	public void updateUser(User user) throws Exception;


	//根据姓名查找用户
	public List findUserByUserName(String username) throws Exception;
}

开发人员还要编写mapper.xml映射文件

我们在src同文件夹下的config文件夹下创建mapper包,在包下创建UserMapper.xml文件,内容同之前写过的User.xml文件一样。





	
	
	
		
	
	
	
	
	
	
	
		
		
			SELECT LAST_INSERT_ID()
		
		
		
		
		insert into user(username,birthday,sex,address) value(#{username},#{birthday,jdbcType=DATE},#{sex},#{address})
	
	
	
	
		delete from user where id=#{id}
	
	
	
	
		update user set username=#{username},birthday=#{birthday,jdbcType=DATE},sex=#{sex},address=#{address} 
		where id=#{id}
	

别忘记在SqlMapConfig.xml中加载映射文件


	

开发规范:
A、在mapper.xml中namespace等于mapper接口地址
!-- namespace命名空间,作用就是对sql进行分类化管理,理解sql隔离
注意:使用mapper代理方法开发,namespace有特殊重要的作用,就是对应的mapper接口地址 -->

......


B、mapper.java接口中的方法名和mapper.xml中statement的id一致
public findUserById()
对应

D、mapper.java接口中的方法返回值类型和mapper.xml中statement的resultType指定的类型一致。
public User findUserById(int id)
对应