文档详情

Mybatis基础教程精选.ppt

发布:2017-06-02约8.43千字共36页下载文档
文本预览下载声明
SqlSession的生命周期 SqlSession: 每个线程都有自己的 SqlSession 实例, SqlSession 实例是不能被共享,也是不是线程安全的。因此最好使用 Request 作用域或者方法体作用域。不要使用类的静态变量来引用一个 SqlSession 实例,甚至不要使用类的一个实例变更来引用。如果你正在使用 WEB 框架,应该让 SqlSession 跟随 HTTP 请求的相似作用域。也就是说,在收到一个 HTTP 请求过后,打开 SqlSession ,等返回一个回应以后,立马关掉这个 SqlSession 。 关闭 SqlSession 是非常重要的。你必须要确保 SqlSession 在 finally 方法体中正常关闭。可以使用下面的标准方式来关闭: SqlSession session = sqlSessionFactory.openSession(); try { // do work } finally { session.close(); } SqlSession接口 SqlSession 的获取方式: Reader reader = Resources.getResourceAsReader(“configuration.xml); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession sqlSession = sqlSessionFactory.openSession(); sqlSession的使用: 调用insert,update,selectList,selectOne,delete等方法执行增删改查等操作。 SqlSession接口 主要方法 新增: int insert(String?statement,?Object?parameter)? 修改: int update(String?statement,?Object?parameter)? 删除: int delete(String?statement,?Object?parameter)? 查询: List selectList(String?statement,?Object?parameter)? sqlSession方法调用实例 public List find(String sqlId, Object param) throws MybatisException { SqlSession sqlSession=sqlSessionFactory.openSession(); try { List list=sqlSession.selectList(sqlId, param); if(list!=null){ return list; }else{ return new ArrayList(); } }catch (RuntimeException e) { e.printStackTrace(); throw new MybatisException(HsErrorMsg.SQL_ERROR,sqlId:+sqlId); } finally{ sqlSession.close(); } } 技巧分享 提取SQL的方法: Configuration configuration = sqlSession.getConfiguration(); MappedStatement ms = configuration.getMappedStatement(sqlId); BoundSql boundSql = ms.getBoundSql(param); String sql = boundSql.getSql(); 可以用于自定义打印日志 技巧分享 分页方法: sqlSession:selectList(String?statement,?Object?parameter,?RowBounds?rowBounds)? RowBounds(int?offset, int?limit)? int startRow=(pageNo-1)*pageSize; RowBounds rowBounds=new RowBounds(startRow,pageSize); List list=sqlSession.selectList(sqlId, param,rowBounds); Mybatis技术简介 MyBatis的前世今生 MyBatis的前身就是iBatis,iBatis本是由Clinton Begin开发,后来捐给Apache基金会,成立
显示全部
相似文档