首页 文章 精选 留言 我的

精选列表

搜索[开发框架],共10010篇文章
优秀的个人博客,低调大师

MyBatis开发框架的四大核心

MyBatis 四大核心主要包括(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper。可以说,了解了这四大核心,便可知 MyBatis 八 九。 SqlSessionFactoryBuilder 从命名上可以看出,这个是一个 Builder 模式的,用于创建 SqlSessionFactory 的类。SqlSessionFactoryBuilder 根据配置来构造 SqlSessionFactory。 其中配置方式有两种 1. XML 文件方式 XML 文件方式是作为常用的一种方式: String resource = "org/mybatis/example/mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); mybatis-config.xml 就是我们的配置文件: PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> 2. Java Config 这是第二种配置方式,通过 Java 代码来配置: DataSource dataSource = BlogDataSourceFactory.getBlogDataSource(); TransactionFactory transactionFactory = new JdbcTransactionFactory(); Environment environment = new Environment("development", transactionFactory, dataSource); Configuration configuration = new Configuration(environment); configuration.addMapper(BlogMapper.class); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration); Java Config 相比较 XML 文件的方式而言,会有一些限 制。比如修改了配置文件需要重新编译,注解方式没有 XML 配置项多等。所以,业界大多数情况下是选择 XML 文件的方式。但到底选择哪种方式,这个要取决与自己团队的需要。比如,项目的 SQL 语句不复杂,也不需要一些高级的 SQL 特性,那么 Java Config 则会更加简洁一点;反之,则可以选择 XML 文件的方式。 SqlSessionFactory SqlSessionFactory 顾名思义,是用于生产 SqlSession 的工厂。 通过如下的方式来获取 SqlSession 实例: SqlSession session = sqlSessionFactory.openSession(); SqlSession SqlSession 包含了执行 SQL 的所有的方法。以下是示例: SqlSession session = sqlSessionFactory.openSession(); try { Blog blog = session.selectOne( "org.mybatis.example.BlogMapper.selectBlog", 101); } finally { session.close(); } 当然,下面的方式可以做到类型安全: SqlSession session = sqlSessionFactory.openSession(); try { BlogMapper mapper = session.getMapper(BlogMapper.class); Blog blog = mapper.selectBlog(101); } finally { session.close(); } Mapper Mapper 顾名思义,是用做 Java 与 SQL 之间的映射的。包括了 Java 映射为 SQL 语句,以及 SQL 返回结果映射为 Java。 比如,下面是一个常见的 Mapper 接口映射文件: select * from Blog where id = #{id} 其中 "org.mybatis.example.BlogMapper" 就是我们要射射的接口,selectBlog 就是BlogMapper上的方法。而这个 selectBlog 具体就是要执行“select * from Blog where id = #{id}”这个 SQL 语句。 这样,我们就能通过 Blog blog = session.selectOne( "org.mybatis.example.BlogMapper.selectBlog", 101); 或者是 BlogMapper mapper = session.getMapper(BlogMapper.class); Blog blog = mapper.selectBlog(101); 来获取到执行的结果。 当然,如果是采用注解的方式的话,可以省去 XML 文件: public interface BlogMapper { @Select("SELECT * FROM blog WHERE id = #{id}") Blog selectBlog(int id); }

优秀的个人博客,低调大师

PhoneGap 1.8.1 发布,跨平台移动开发框架

PhoneGap官方今天发布了PhoneGap 1.8.1版本,主要修复了1.8版本中导致iOS平台上PhoneGap应用程序崩溃的bug。 该版本相对于之前的1.7版本,主要修复了iOS、Android、Windows Phone、黑莓和WebOS平台上的大量bug,此外还进行了大量的改进,部分如下: iOS:添加HTTP状态码到FileTransferError对象 iOS:升级地理位置功能,以和W3C规范一致 iOS:新增记录器插件 iOS:重写了加速器插件,简化了该插件的启动/停止行为 Android:当删除图像文件时查询Andoid content数据库 Android:在FileUtils.notifyDelete中使用stripFileProtocol协议 Android:修复了一些示例中出现的问题 WP:允许创建新的命令行界面项目 WP:重写了加速器插件 文章转载自 开源中国社区 [http://www.oschina.net]

优秀的个人博客,低调大师

Mapbox GL JS 3.27.0 发布,WEB GIS 开发框架

Mapbox GL JS 3.27.0 现已发布,此版本更新内容包括: Features and improvements 升级到 TypeScript 7 为 symbols 添加 cross-source HD roadselevation 改进垂直文本渲染模式下部分中日韩字符的旋转逻辑 Bug fixes 修复 non-mecator projections 的栅格数组越界断言错误 修复在表达式中使用对象属性字符串时出现的错误 修复多地图环境中使用的错误访问令牌 修复了number-format在min/max-fraction-digits 为 0 时被省略的问题 在 globe-mercator transition 转换期间修复line-aligned 标签的位置 修复了使用带有原型派生键的样式表达式时发生的崩溃问题。 修复 Atlas 缓存返回其他 scope images 的问题 修复了Style#{get,set,remove}FeatureState方法中,当{target: {layerId}}时,导入图层的目标会根据其自身片段的源进行解析,而非根样式的情况 修复缺失的 building along tile borders。 修复 UMD 中的动态导入 修复在现代打包程序下 import.meta 崩溃的问题 修复了过渡时长为 0 的符号属性调用setPaintProperty时的问题 更新说明:https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.27.0

优秀的个人博客,低调大师

Mapbox GL JS 3.25.0 发布,WEB GIS 开发框架

Mapbox GL JS 3.25.0 现已发布,此版本更新内容包括: Breaking changes 将 ESM entry point切换为命名导出(import * as mapboxgl from 'mapbox-gl/esm'),以便现代打包工具能够移除少量未使用的代码。将mapboxgl.accessToken替换为MapaccessToken选项。虽然大部分打包内容仍然无法静态删除,但此版本也改进了运行时代码的延迟加载,后续还将推出更多改进。 Features and improvements 扩展MapgetLayerProperty和setLayerProperty并支持层级属性(minzoom,maxzoom,filter,slot,appearances) 扩展TileProviderAPI 使其支持raster和raster-demprovider使用ImageBitmap。 提高模型加载和渲染性能。 提高符号渲染性能。 提高 vector tiles 和其他 protobuf 编码资源的解码和编码性能。 提高颜色解析性能,略微缩短具有许多颜色值的样式的加载时间。 提取室内部分模型渲染代码,以便在使用 ESM entry point 时按需加载。 为 GeolocateControl 添加 ready 事件,并新增 setShowAccuracyCircle、setShowUserHeading、setFitBoundsOptions、setShowUserLocation 方法。 为 KeyboardHandler 添加 disablePan/enablePan 方法。 为 DragRotateHandler 添加 disablePitch/enablePitch 方法。 为 TouchZoomRotateHandler 添加 disableTapDragZoom/enableTapDragZoom 方法。 将 Map 类的 setLanguage、getLanguage、setWorldview、getWorldview 方法设为稳定的公共方法(此前为私有)。 从package.json中移除所有直接依赖项,以略微减小 NPM 安装的大小和时间。 改进带边框线条的抗锯齿效果。 实现常规道路数据和高清道路数据的自动合并,为未来 Mapbox Standard 的更新做好准备。 错误修复 修复了有时会出现黑框而不是符号图标的问题。 修复了高架道路图块边界的精度问题。 修复堆叠式地下道路的渲染问题。 修复与来自不受信任的样式或图块的对象原型污染相关的轻微漏洞。 修复Standard style中的Cutoff is currently disabled on terrain警告。 修复外观条件验证,使其能够接受复合表达式。 修复通过model-line-cutout-mode属性实现模型抠图淡入淡出的问题。 修复符号图层步长表达式求值的问题。 修复自定义图层渲染与 data-drivenline-emissive-strength并行渲染时出现的问题。 更新说明:https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.25.0

优秀的个人博客,低调大师

Mapbox GL JS 3.18.1 发布,WEB GIS 开发框架

Mapbox GL JS 3.18.1 现已发布,此版本更新内容包括: Features and improvements 为 clip layers 添加支持visibility属性支持。 提升精细数值范围的raster-color精度。 Bug fixes 修复 edge cases 下的 color interpolation throwing 错误。 修复 no icon-size的外观问题。 修复与 elevated raster layers 配合使用时符号消失的问题。 更新说明:https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.18.1

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册