当前位置: 首页 > news >正文

三亚网站定制开发公司内江如何做百度的网站

三亚网站定制开发公司,内江如何做百度的网站,广州第一网站,网络广告的发布方式包括在MyBatis中,用于与数据库进行交互的主要Java接口是SqlSession。通过这个接口,您可以执行命令、获取映射器并管理事务。稍后我们将更详细地讨论SqlSession本身,但首先我们必须学习如何获取SqlSession的实例。SqlSession是由SqlSessionFactory…

在MyBatis中,用于与数据库进行交互的主要Java接口是SqlSession。通过这个接口,您可以执行命令、获取映射器并管理事务。稍后我们将更详细地讨论SqlSession本身,但首先我们必须学习如何获取SqlSession的实例。SqlSession是由SqlSessionFactory实例创建的。SqlSessionFactory包含了各种创建SqlSession实例的方法。SqlSessionFactory本身是由SqlSessionFactoryBuilder创建的,可以从XML、注解或手动编写的Java配置创建SqlSessionFactory。

注意:当使用Spring或Guice等依赖注入框架与MyBatis结合使用时,SqlSession会由DI框架创建和注入,因此您无需使用SqlSessionFactoryBuilder或SqlSessionFactory,可以直接进入到SqlSession部分。请参考MyBatis-Spring或MyBatis-Guice手册以获得更多信息。

SqlSessionFactoryBuilder提供了五种不同的build()方法,每种方法都允许您从不同的来源构建SqlSessionFactory。

SqlSessionFactory build(InputStream inputStream)
SqlSessionFactory build(InputStream inputStream, String environment)
SqlSessionFactory build(InputStream inputStream, Properties properties)
SqlSessionFactory build(InputStream inputStream, String env, Properties props)
SqlSessionFactory build(Configuration config)

前四种方法是最常见的,因为它们接受一个指向XML文档的InputStream实例,或者更具体地说,是上面提到的mybatis-config.xml文件。可选参数是environment和properties。environment确定要加载的环境,包括数据源和事务管理器。例如:

<environments default="development"><environment id="development"><transactionManager type="JDBC">...<dataSource type="POOLED">...</environment><environment id="production"><transactionManager type="MANAGED">...<dataSource type="JNDI">...</environment>
</environments><environments default="development"><environment id="development"><transactionManager type="JDBC">...<dataSource type="POOLED">...</environment><environment id="production"><transactionManager type="MANAGED">...<dataSource type="JNDI">...</environment>
</environments>

如果调用了带有environment参数的build方法,MyBatis将使用该环境的配置。当然,如果指定了一个无效的环境,将会收到错误消息。如果调用不带environment参数的build方法之一,将使用默认环境(在上面的示例中指定为default="development")。

如果调用了接受Properties实例的方法,MyBatis将加载这些属性,并使其在配置中可用。您可以使用${propName}的语法,在配置中使用这些属性替代大多数值。

请记住,属性还可以从mybatis-config.xml文件中引用,或直接在其中指定。因此,了解优先级是非常重要的。我们在本文档中之前提到过它,但为了方便参考,这里再次列出:

如果一个属性在这些位置中的多个地方都存在,MyBatis按以下顺序加载它们。

  • 首先读取在`properties`元素内部指定的属性,
  • 其次读取从`properties`元素的classpath资源或url属性加载的属性,并覆盖任何已经指定的重复属性,
  • 最后读取作为方法参数传递的属性,并覆盖可能从properties体和resource/url属性加载的任何重复属性。

因此,最高优先级的属性是作为方法参数传递的属性,其次是resource/url属性,最后是在properties元素体内指定的属性。

总结一下,前面四种方法在很大程度上是相同的,只是在允许您选择性地指定环境和/或属性时进行了覆盖。下面是从mybatis-config.xml文件构建SqlSessionFactory的示例: 

String resource = "org/mybatis/builder/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(inputStream);

 请注意,我们正在使用 ​Resources​实用类,它位于 ​org.apache.ibatis.io​包中。​Resources​类顾名思义,帮助您从类路径、文件系统甚至网络URL加载资源。快速查看该类的源代码或通过IDE进行检查将揭示其一系列明显有用的方法。以下是一个快速列表:

URL getResourceURL(String resource)
URL getResourceURL(ClassLoader loader, String resource)
InputStream getResourceAsStream(String resource)
InputStream getResourceAsStream(ClassLoader loader, String resource)
Properties getResourceAsProperties(String resource)
Properties getResourceAsProperties(ClassLoader loader, String resource)
Reader getResourceAsReader(String resource)
Reader getResourceAsReader(ClassLoader loader, String resource)
File getResourceAsFile(String resource)
File getResourceAsFile(ClassLoader loader, String resource)
InputStream getUrlAsStream(String urlString)
Reader getUrlAsReader(String urlString)
Properties getUrlAsProperties(String urlString)
Class classForName(String className)

最后一个 ​build()​方法接受一个 ​Configuration​实例作为参数。​Configuration​类包含了关于 ​SqlSessionFactory​实例的所有可能需要了解的内容。​Configuration​类对于内部检查配置非常有用,包括查找和操作SQL映射(不推荐在应用程序接受请求之后进行操作)。​Configuration​类提供了之前学到的每个配置开关,只是以Java API的形式暴露出来。以下是一个简单示例,展示如何手动创建一个 ​Configuration​实例,并将其传递给 ​build()​方法来创建一个 ​SqlSessionFactory​。

DataSource dataSource = BaseDataTest.createBlogDataSource();
TransactionFactory transactionFactory = new JdbcTransactionFactory();Environment environment = new Environment("development", transactionFactory, dataSource);Configuration configuration = new Configuration(environment);
configuration.setLazyLoadingEnabled(true);
configuration.setEnhancementEnabled(true);
configuration.getTypeAliasRegistry().registerAlias(Blog.class);
configuration.getTypeAliasRegistry().registerAlias(Post.class);
configuration.getTypeAliasRegistry().registerAlias(Author.class);
configuration.addMapper(BoundBlogMapper.class);
configuration.addMapper(BoundAuthorMapper.class);SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(configuration);

现在您拥有一个可以用于创建 ​SqlSession​实例的 ​SqlSessionFactory​了。

http://www.yayakq.cn/news/367410/

相关文章:

  • 免费ps模板下载网站国家开发银行app下载
  • DW做的网站怎么弄兼容性网页应用生成器
  • 深圳网站网络建设深圳专业做网站设计
  • 菲律宾 做菠菜网站灵宝seo公司
  • 蒲公英网站建设想做网站
  • 中国水利建设网站健康网站建设与管理
  • 足球外围网站自己做的wordpress 定制搜索
  • 小白如何做网站单页营销式网站模板下载
  • 西宁网站制作哪里好做海报的免费网站
  • 做电商运营还是网站运营哪个好六安人论坛招聘网
  • 济源网站制作拼多多关键词优化是怎么弄的
  • 电子 网站建设申请过程徐州网站建设xzqjw
  • 个旧网站建设ui设计去什么公司好
  • 国外学做咖啡的网站做kegg的网站
  • 鞍山百度做网站长沙人才网官网
  • 西安建站价格表哈尔滨哪里做网站好
  • 出售企业网站备案资料wordpress 4.7优化精减
  • 30岁女人学网站开发可以吗网站建设收费标准教程
  • 刷网站关创意模板
  • 小说网站开发技术实现房屋备案信息查询入口
  • 长沙网站优化怎么做电商设计工资多少钱一个月
  • 28网站建设律师个人网站源码
  • WordPress默认模板做的站大气网络公司名字
  • 微信里的商家链接网站怎么做的wordpress地址为灰色
  • 滨海县城乡建设局网站在线建站
  • 网站开发实现电脑版和手机版的切换安徽建设工程信息网文件
  • 外文网站开发网站建设服务器在国外如何打击
  • 12306网站是学生做的c2c二手车交易平台
  • 企业网站的总体设计wordpress防止数据库注入
  • 做美容一般在哪个网站团购比较好手机app软件开发多少钱