**2-1. 接口式编程**

接口可以规范类型


调用:getMapper

public class MessageDao {
	public List<Message> queryMessageList(String command,String description){
		List<Message> messageList = new ArrayList<Message>();
		DBAccess dbAccess=new DBAccess();
		SqlSession sqlSession = null;
		try {
			sqlSession = dbAccess.getSqlSession();
			Message message = new Message();
			message.setCommand(command);
			message.setDescription(description);
			IMessage iMessage = sqlSession.getMapper(IMessage.class);
			//通过sqlSession执行SQL语句
			messageList = iMessage.queryMessageList(message);// sqlSession.selectList("Message.queryMessageList",message);
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			if(sqlSession!=null){
				sqlSession.close();
			}
		}
		
		return messageList;
	}
}
**2-2. 接口式编程原理(上)**
解决几个问题

1. IMessage.queryMessageList();


通过动态代理实现
2. MapperProxy.invoke() == sqlSession.selectList()??


3.IMessage imessage = Proxy.newProxyInstance()? ?

利用泛型作为参数



**2-2. 接口式编程原理(中)**

1.


Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐