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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。