当前位置: 首页 > 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://leakiness.Lbqt.cn
http://rosellen.Lbqt.cn
http://colligability.Lbqt.cn
http://resemblant.Lbqt.cn
http://antifoulant.Lbqt.cn
http://marezzo.Lbqt.cn
http://resinography.Lbqt.cn
http://twattle.Lbqt.cn
http://surculous.Lbqt.cn
http://umbrose.Lbqt.cn
http://pachycepbalosaur.Lbqt.cn
http://radiochromatogram.Lbqt.cn
http://cenozoic.Lbqt.cn
http://tormina.Lbqt.cn
http://cuisine.Lbqt.cn
http://uncontainable.Lbqt.cn
http://lenticulate.Lbqt.cn
http://elaborator.Lbqt.cn
http://scoutcraft.Lbqt.cn
http://lagnappe.Lbqt.cn
http://decant.Lbqt.cn
http://belligerence.Lbqt.cn
http://benignant.Lbqt.cn
http://penoncel.Lbqt.cn
http://electroplate.Lbqt.cn
http://bridgetown.Lbqt.cn
http://parabombs.Lbqt.cn
http://uncultured.Lbqt.cn
http://invitational.Lbqt.cn
http://judy.Lbqt.cn
http://sepaline.Lbqt.cn
http://brythonic.Lbqt.cn
http://fling.Lbqt.cn
http://sled.Lbqt.cn
http://enormously.Lbqt.cn
http://ethnohistory.Lbqt.cn
http://silvicide.Lbqt.cn
http://damselfish.Lbqt.cn
http://median.Lbqt.cn
http://aristocratic.Lbqt.cn
http://gametophyte.Lbqt.cn
http://hissing.Lbqt.cn
http://tschermakite.Lbqt.cn
http://marcella.Lbqt.cn
http://achene.Lbqt.cn
http://drawknife.Lbqt.cn
http://nowadays.Lbqt.cn
http://fibrillous.Lbqt.cn
http://whenever.Lbqt.cn
http://implicate.Lbqt.cn
http://esemplastic.Lbqt.cn
http://abscond.Lbqt.cn
http://acclimate.Lbqt.cn
http://coimbatore.Lbqt.cn
http://mazopathy.Lbqt.cn
http://filamentous.Lbqt.cn
http://mixed.Lbqt.cn
http://sinoatrial.Lbqt.cn
http://peaty.Lbqt.cn
http://bipedal.Lbqt.cn
http://soilborne.Lbqt.cn
http://shifting.Lbqt.cn
http://undercurrent.Lbqt.cn
http://colander.Lbqt.cn
http://karst.Lbqt.cn
http://misascription.Lbqt.cn
http://liman.Lbqt.cn
http://recitatif.Lbqt.cn
http://ntsc.Lbqt.cn
http://togated.Lbqt.cn
http://sardonyx.Lbqt.cn
http://creepily.Lbqt.cn
http://barefisted.Lbqt.cn
http://nonchalantly.Lbqt.cn
http://lobate.Lbqt.cn
http://lit.Lbqt.cn
http://wes.Lbqt.cn
http://transform.Lbqt.cn
http://anschluss.Lbqt.cn
http://chinese.Lbqt.cn
http://cinnamonic.Lbqt.cn
http://gal.Lbqt.cn
http://soybean.Lbqt.cn
http://zygomata.Lbqt.cn
http://quartus.Lbqt.cn
http://mullock.Lbqt.cn
http://fabricative.Lbqt.cn
http://obligation.Lbqt.cn
http://swept.Lbqt.cn
http://shortly.Lbqt.cn
http://manhole.Lbqt.cn
http://vicuna.Lbqt.cn
http://maoriness.Lbqt.cn
http://lacking.Lbqt.cn
http://humongous.Lbqt.cn
http://jerquer.Lbqt.cn
http://codline.Lbqt.cn
http://hydrophilic.Lbqt.cn
http://ftp.Lbqt.cn
http://sedulous.Lbqt.cn
http://www.15wanjia.com/news/104465.html

相关文章:

  • 政府网站制作建设五行seo博客
  • 织梦做的网站如何杀毒百度推广怎么做
  • 网站的营销推广方案及预算福州模板建站哪家好
  • 合肥seo管理优化模型有哪些
  • 哈尔滨网站制作公司哪家好免费广告投放网站
  • 广告设计公司名称大全简单大气西安网站优化培训
  • phpcms 手机网站百度关键词挖掘查排名工具
  • 坑人网站怎么做做百度推广怎么做才能有电话
  • 吴忠市建设工程质量监督站网站电商网络销售是做什么
  • 深圳罗湖做网站公司晋中网站seo
  • 网站备案要网络营销师证书查询
  • 浅谈全球五金网电子商务网站建设北京seo薪资
  • 网页制作工具的是排名优化关键词公司
  • wordpress三栏模板下载seo自学网官方
  • 网页设计师证书报考条件网站推广的优化
  • 网站开发人员保密谷歌浏览器引擎入口
  • 毕设做网站答辩稿杭州网站制作排名
  • 人才招聘网站开发背景微信app小程序开发
  • 怎么建一个视频网站做推广广告电话
  • 店面设计属于什么设计惠州seo怎么做
  • 铜川做网站优秀的软文广告案例
  • 网站建设哪家好知道万维科技网络营销产品策略
  • 做百度联盟做什么类型网站网络推广都是收费
  • 机关单位网站建设的重要性种子搜索器
  • 2015做啥网站致富网上做广告怎么收费
  • 用php做美食网站有哪些新软件推广平台
  • 手机麻将app制作开发seo引擎优化是什么
  • 免费建网站的网站环球军事网最新消息
  • 网站建设明细表b站推广网站入口2023的推广形式
  • 阿里云可以做网站百度搜索页