欢迎来到天天文库
浏览记录
ID:30790840
大小:62.50 KB
页数:6页
时间:2019-01-03
《mybatis的简单应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、mybatis的简单应用—:MyBatis优点1:半自动化的ORM实现(实体类和SQL语句之间建立映射关系)2:SQL代码从程序代码中彻底分离,可重用3:与JDBC相比,减少了50%以上的代码量4:小巧灵活、简单易学,是最简单的持久化框架5:提供XML标签,支持编写动态SQL6:提供映射标签,支持对象与数据库的ORM字段映射二:MyBatis缺点1:SQL语句编写工作量大,对开发人员有一定sql技术要求2:数据库移植性差(不同数据库,sql语句语法有所不同)三:MyBatis基本要素1:SqISessionFactoryBuilder:创建session工厂类生命周期:用
2、过即丢,只存在于方法体内(局部变量)2:SqISessionFactory:session工厂类生命周期:Application(生命周期与应用的生命周期相同)采用单例模式:存在于整个应用运行时,并且同时只存在一个对象实例3:SqISession:session类(包含了执行SQL所需的所有方法)生命周期:request在SqISession里可以执行多次SQL语句,但一旦关闭了SqISession就需要重新创建线程级别,不能共享,线程不安全,对应一次数据库会话,会话结束必须关闭1:mybatis-config.xml系统核心配置文件2:mapper.xmlSQL映射文件
3、四:MyBatis两种使用方式操作数据1:通过SqISession实例直接运行映射的SQL语句调用selectList/selectOne方法执行查询操作直接运行映射的sql语句,参数为:RoleMapper.xml中命名空间名称+sql映射的id"cn.zx.dao.role.RoleMapper.findRoleList":必须是唯一的2:基于Mapper接口方式操作数据调用getMapper(接口.class)执行dao接口方法来实现对数据库的查询操作xml映射文件的namespace属性必须跟相对应的接口全路径同名xml映射文件中sql语句的id必须与接口中的方法
4、同名五:使用MyBatis的开发步骤1:下载mybatis・322.jar包并导入工程2:编写MyBatis核D配置文件(configuration.xml)3:创建实体类-POJO4:DAO层・SQL映射文件(mapper.xml)5:创建测试类读取核心配置文件mybatis-config.xml创建SqISessionFactory对象,读取配置文件创建SqISession对象调用mapper文件进行数据操作六:1:数据库中的字段与类中的属性映射问题数据库中的字段与类中的属性采用同一套命名规则(驼峰),框架能够自动匹配映射,无需再做映射;注意:如果数据库中的字段与类中
5、的属性命名不一致,需要手动映射,借助<resultMap>来实现。2:事务控制publicstaticSqISessioncreateSqISession(){//true关闭事务控制(为自动提交事务)默认为true在增删改的时候有一定危险//false开启事务控制提交sqlSession.commit();回滚sqISession.rollback();returnfactory.openSession(false);}3:参数传入①:单参传入在sql映射xml中,传入单个参数#凶中的x参数名需要与接口方法中的参数名保持一致(高版本的可以保持不一致,但不建议命名不规范)
6、①:多参传入a、将多个参数封装成对象,以对象方式入参b、将多个参数封装成Map集合,以Map集合方式入参publicListgetUserListByMap(Mapselect*fromsmbms_userwhereuserNamelikeCONCAT('%',#{uName},'%‘)anduserRole=#{uRole}Map7、,String>userMap=newHashMap();userMap.put("uNameM,"zhang");userMap.put(”uRole”,”2“);c、使用@Param注解实现多参入参在接口方法中:publicintupdatePwd(@Param('^id^^)lntegerid,@Param(”userPassword”)Stringpwd);sql语句映射的xml中,可以直接用参数指定的值直接在文件中写入(也无需指定参数类型)…#{参数指定值}
7、,String>userMap=newHashMap();userMap.put("uNameM,"zhang");userMap.put(”uRole”,”2“);c、使用@Param注解实现多参入参在接口方法中:publicintupdatePwd(@Param('^id^^)lntegerid,@Param(”userPassword”)Stringpwd);sql语句映射的xml中,可以直接用参数指定的值直接在文件中写入(也无需指定参数类型)…#{参数指定值}
此文档下载收益归作者所有