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

网站网络营销方式分销系统是什么

网站网络营销方式,分销系统是什么,呼和浩特网站建设SEO优化,鲜花网站建设企划书MyBatis支持配置多个环境#xff0c;这有助于将您的SQL映射应用于多个数据库#xff0c;无论出于何种原因。例如#xff0c;您可能希望为开发、测试和生产环境使用不同的配置。或者#xff0c;您可能有多个共享相同模式的生产数据库#xff0c;并且想要在两者上使用相同的…MyBatis支持配置多个环境这有助于将您的SQL映射应用于多个数据库无论出于何种原因。例如您可能希望为开发、测试和生产环境使用不同的配置。或者您可能有多个共享相同模式的生产数据库并且想要在两者上使用相同的SQL映射。有许多使用情况可以考虑。 有一件重要的事需要记住虽然您可以配置多个环境但在每个SqlSessionFactory实例中只能选择一个环境。 因此如果您想要连接到两个数据库您需要创建两个SqlSessionFactory实例每个实例连接一个数据库。对于三个数据库您需要三个实例依此类推。这是非常容易记住的。 每个数据库使用一个SqlSessionFactory实例。 要指定要构建的环境只需将其作为可选参数传递给SqlSessionFactoryBuilder。接受环境参数的两种签名是 SqlSessionFactory factory new SqlSessionFactoryBuilder().build(reader, environment); SqlSessionFactory factory new SqlSessionFactoryBuilder().build(reader, environment, properties); 如果省略了环境参数则会加载默认环境如下所示 SqlSessionFactory factory new SqlSessionFactoryBuilder().build(reader); SqlSessionFactory factory new SqlSessionFactoryBuilder().build(reader, properties); environments元素定义了环境的配置。 environments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBCproperty name... value...//transactionManagerdataSource typePOOLEDproperty namedriver value${driver}/property nameurl value${url}/property nameusername value${username}/property namepassword value${password}//dataSource/environment /environments 请注意以下关键部分 默认环境ID例如 defaultdevelopment。每个定义环境的环境ID例如 iddevelopment。事务管理器的配置例如 typeJDBC。数据源的配置例如 typePOOLED。 默认环境和环境ID可以根据您的喜好进行命名只要确保默认环境与其中一个环境ID匹配即可。 transactionManager MyBatis包含两种事务管理器类型即type[JDBC|MANAGED]它们分别是 JDBC – 这个配置直接使用JDBC的提交和回滚功能。它依赖于从数据源dataSource获取的连接来管理事务的范围。默认情况下它在关闭连接时启用自动提交以保证与一些驱动程序的兼容性。然而对于某些驱动程序来说启用自动提交不仅是不必要的而且还是一个昂贵的操作。因此从版本3.5.10开始您可以通过将“skipSetAutoCommitOnClose”属性设置为true来跳过这一步骤。例如  transactionManager typeJDBCproperty nameskipSetAutoCommitOnClose valuetrue/ /transactionManager MANAGED – 这个配置实际上几乎不做任何操作。它不会提交或回滚连接。相反它让容器来管理事务的整个生命周期例如JEE应用服务器的上下文。默认情况下它会关闭连接。然而某些容器不希望出现这种情况因此如果您需要阻止它关闭连接请将“closeConnection”属性设置为false。例如 transactionManager typeMANAGEDproperty namecloseConnection valuefalse/ /transactionManager 注意如果您计划将MyBatis与Spring一起使用就不需要配置任何事务管理器因为Spring模块会设置自己的事务管理器覆盖任何先前设置的配置。 这两种事务管理器类型都不需要任何属性。然而它们都是类型别名换句话说您可以使用自己的完全限定类名或类型别名来引用您自己实现的TransactionFactory接口。 public interface TransactionFactory {default void setProperties(Properties props) { // Since 3.5.2, change to default method// NOP}Transaction newTransaction(Connection conn);Transaction newTransaction(DataSource dataSource, TransactionIsolationLevel level, boolean autoCommit); } 在XML中配置的任何属性都将在实例化后传递给setProperties()方法。您的实现还需要创建一个Transaction实现它也是一个非常简单的接口 public interface Transaction {Connection getConnection() throws SQLException;void commit() throws SQLException;void rollback() throws SQLException;void close() throws SQLException;Integer getTimeout() throws SQLException; } 使用这两个接口您可以完全自定义MyBatis如何处理事务。 dataSource dataSource元素使用标准的JDBC DataSource接口配置JDBC连接对象的来源。 大多数MyBatis应用程序将按示例配置一个dataSource。但是这并不是必需的。需要注意的是为了方便延迟加载Lazy Loading这个dataSource是必需的。 有三种内置的数据源类型(type[UNPOOLED|POOLED|JNDI]) UNPOOLED - 这个数据源的实现在每次请求时都会打开和关闭一个连接。虽然速度稍慢但对于不需要立即可用连接性能的简单应用程序来说这是一个不错的选择。不同的数据库在这个性能方面也有所不同所以对于某些数据库来说池化连接可能不太重要这种配置会更理想。UNPOOLED数据源有以下属性可以配置 driver - 这是JDBC驱动程序的完全限定Java类名如果您的驱动程序包含一个DataSource类则不是它。url - 这是您数据库实例的JDBC URL。username - 用于登录的数据库用户名。password - 用于登录的数据库密码。defaultTransactionIsolationLevel - 连接的默认事务隔离级别。可以使用以下预定义常量来设置NONE, READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE。defaultNetworkTimeout - 默认的网络超时值以毫秒为单位用于等待数据库操作完成。有关详细信息请参阅java.sql.Connection#setNetworkTimeout()的API文档。 可选地您还可以向数据库驱动程序传递属性。要做到这一点将属性前缀为 ​driver.​例如 driver.encodingUTF8 这将通过DriverManager.getConnection(url, driverProperties)方法向您的数据库驱动程序传递属性编码属性名称为encoding值为UTF8。 POOLED - 这是一种DataSource的实现它可以池化JDBC连接对象以避免创建新的连接实例所需的初始连接和身份验证时间。这是并发Web应用程序实现最快响应的常用方法。 除了上述的(UNPOOLED)属性之外还有许多其他属性可用于配置POOLED数据源。以下是一些常用的属性 属性 ​poolMaximumActiveConnections​表示同时存在的活动即正在使用连接的数量。默认值为10。属性 ​poolMaximumIdleConnections​表示同时存在的空闲连接的数量。属性 ​poolMaximumCheckoutTime​表示一个连接在被check out即被获取之后可以持续存在的最长时间超过此时间将被强制返回到连接池。默认值为20000毫秒即20秒。属性 ​poolTimeToWait​是一个低级设置用于在获取连接花费异常长的时间时给连接池一个机会打印日志状态并重新尝试获取连接以避免在连接池配置错误的情况下永远静默失败。默认值为20000毫秒即20秒。属性 ​poolMaximumLocalBadConnectionTolerance​是关于线程容忍的坏连接数量的低级设置。如果一个线程获取到一个坏连接它可能还有另外一次机会重新尝试获取到另一个有效的连接。但重试次数不应超过poolMaximumIdleConnections和poolMaximumLocalBadConnectionTolerance之和。默认值为3自3.4.5起。属性 ​poolPingQuery​是发送给数据库的Ping查询用于验证连接是否工作正常并准备接受请求。默认值为NO PING QUERY SET这会导致大多数数据库驱动程序以良好的错误消息失败。属性 ​poolPingEnabled​用于启用或禁用ping查询。如果启用还必须设置具有有效SQL语句的poolPingQuery属性最好是一个非常快的查询。默认值为false。属性 ​poolPingConnectionsNotUsedFor​配置poolPingQuery的使用频率。可以将其设置为与数据库连接的典型超时时间相匹配以避免不必要的ping查询。默认值为0即每次都对所有连接进行ping查询但前提是poolPingEnabled为true。  JNDIJava命名和目录接口的这种DataSource实现是为与EJB或应用服务器等容器一起使用而设计的。这些容器可以集中或外部地配置DataSource并将对它的引用放置在JNDI上下文中。这种DataSource配置只需要两个属性 initial_context – 这个属性用于从InitialContext中查找上下文即initialContext.lookup(initial_context)。这个属性是可选的如果省略则会直接在InitialContext中查找data_source属性。data_source – 这是一个上下文路径用于找到对DataSource实例的引用。它会根据initial_context查找返回的上下文进行查找或者如果没有提供initial_context则会在InitialContext中直接进行查找。  与其他DataSource配置类似可以通过在属性前加上env.的方式将属性直接发送给InitialContext。例如 env.encodingUTF8 这将会在实例化InitialContext的构造函数中将属性encoding和值UTF8发送给InitialContext。 通过实现接口org.apache.ibatis.datasource.DataSourceFactory您可以插入任何第三方的DataSource public interface DataSourceFactory {void setProperties(Properties props);DataSource getDataSource(); } org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory可以作为构建新的数据源适配器的超类使用。例如下面是将C3P0插入的代码示例 import org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory; import com.mchange.v2.c3p0.ComboPooledDataSource;public class C3P0DataSourceFactory extends UnpooledDataSourceFactory {public C3P0DataSourceFactory() {this.dataSource new ComboPooledDataSource();} } 要设置它为您希望MyBatis调用的每个setter方法添加一个属性。下面是一个连接到PostgreSQL数据库的示例配置 dataSource typeorg.myproject.C3P0DataSourceFactoryproperty namedriver valueorg.postgresql.Driver/property nameurl valuejdbc:postgresql:mydb/property nameusername valuepostgres/property namepassword valueroot/ /dataSource
http://www.hkea.cn/news/14311664/

相关文章:

  • 有关做生态环境的官方网站seo排名优化培训价格
  • 网站后台打打开空白vmware做网站步骤
  • 网站模块是什么意思网站后台 英语
  • 知名网站制作企业廉江网站开发公司
  • 网站 地区加关键词广告字体设计在线生成
  • 聊城建网站做英文网站要用什么字体
  • 网站建设技术培训学校商丘网站建设的公司哪家好
  • ps怎么做响应式网站布局图wordpress 多服务器
  • 起点网站书的封面怎们做昆明网站建设服务
  • 电子商务网站开发技术和工具有哪些企业网站托管代运营
  • 小木桥建设网站想开广告公司怎么起步
  • 户县建设局网站电子商务网站建设费用预算
  • 深圳网站关键词排名优化二手房网站开发文档
  • 成绩分析智能网站怎么做外链工具
  • 域名解析到别的网站网站后台管理系统多少钱
  • 购物网站开发设计外呼电销系统
  • 做网站的公司哪家强小程序源码搭建
  • 厦门网站建设屈兴东济宁热点网络科技有限公司
  • 不要营业执照的做网站北京环球影城可以带水果吗
  • 电子商务网站建设的主页广西公司注册网上核名
  • 邯郸网站设计公司dedecms电影网站模板
  • 专业柳州网站建设推荐巴中做网站的公司
  • 企业网站有哪几个类型WordPress怎么编制手机页面
  • 织梦网站首页错位如何做自己的视频网站
  • 深圳建设网站上市广东炒股配资网站开发
  • 古典家具公司网站模板wordpress用户注册邮件验证
  • 联谊会总结网站建设对外宣传外包网站制作
  • 南昌网站开发建设山东大型网站建设
  • 茶山网站仿做怎么制作网站商城
  • 太原本地网站WordPress使用CDN无法登录