Java框架MyBatis接口编程过程解析
要求:
1.配置文件的namespace名称空间指定为接口的全类名
2.配置文件中的id唯一标识与接口中的方法对应(返回值类型对应,方法名对应,参数个数和类型对应)
接口代码:
packagecom.bird.mybatis.dao;
importcom.bird.mybatis.bean.Employee;
publicinterfaceEmployeeMapper{
publicEmployeegetEmpById(Integerid);
}
对应配置文件代码:
selectid,last_namelastName,gender,emailfromtbl_employeewhereid=#{id}
测试代码:
/**
*MyBatis接口编程
*@throwsIOException
*/
@Test
voidtest2()throwsIOException{
//获取sqlSessionFactory对象
SqlSessionFactoryssf=getSqlSessionFactory();
//获取sqlSession对象
SqlSessionopenSession=ssf.openSession();
try{
//获取接口的实现类对象
EmployeeMappermapper=openSession.getMapper(EmployeeMapper.class);
EmployeeempById=mapper.getEmpById(1);
System.out.println(empById);
}finally{
openSession.close();
}
}
/**
*获取sqlSessionFactory对象
*@throwsIOException
*/
publicstaticSqlSessionFactorygetSqlSessionFactory()throwsIOException{
Stringresource="mybatis-config.xml";
InputStreamis=Resources.getResourceAsStream(resource);
returnnewSqlSessionFactoryBuilder().build(is);
}
总结:
1.接口编程:
原生接口:Dao===>DaoImpl
MyBatis:Dao===>Mapper.xml
2.SqlSession代表与数据库的一次会话,用完要关闭
3.SqlSession和Connection都是非线程安全的,所以每次都要获取新的对象,而不能写成成员变量
4.mapper接口没有实现类,但是MyBatis生成代理对象
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。