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

各种网站推广是怎么做的如何申请网页域名

各种网站推广是怎么做的,如何申请网页域名,在线制作logo图标软件,集团网站建设价格【0】README1#xff09;本文部分文字描述转自#xff1a;“Spring In Action#xff08;中/英文版#xff09;”#xff0c;旨在review “spring(10)通过spring 和 JDBC征服数据库” 的相关知识#xff1b;【1】 spring 的数据访问哲学1#xff09;intro#xff1a;s… 【0】README 1本文部分文字描述转自“Spring In Action中/英文版”旨在review  “spring(10)通过spring 和 JDBC征服数据库” 的相关知识 【1】 spring 的数据访问哲学 1introspring的目标之一是允许我们在开发应用程序的时候能够遵循面向对象原则中的“针对接口编程” 2为了避免持久化的逻辑分散到应用的各个组件中最好将数据访问的功能放到一个或多个专注于此项任务的组件中。这样的组件通常称为数据访问对象data accwss objectDAO 或 Repository干货——引入了 DAO 和 Repository 3为了避免应用与特定的数据访问策略耦合在一起编写良好的 Repository应该以接口的方式暴露功能下图展现了设计数据访问层的合理方式 t3 【1.2】数据访问模板化 1introspring将数据访问过程中固定的和可变的部分明确划分为两个不同 的类 模板template 和 回调callback模板管理过程中固定的部分而回调处理自定义的数据访问代码。下图展现了这两个类的职责干货——引入了模板和回调 t4 2针对不同的持久化平台spring 提供了多个可选的模板。如果直接使用 JDBC那你可以选择 JdbcTemplate。如果你希望使用对象关系映射框架那 HibernateTemplate 或 JpaTemplate 可能会适合你。下表列出了 spring 所提供的所有数据访问模板及其用途 t5 Attentionspring所支持的大多数持久化功能都依赖于 数据源。因此在声明模板和 Repository之前需要在spring 中配置一个 数据源用来连接数据库 【2】配置数据源 1introspring 提供了在 spring上下文中配置数据源bena 的多种方式 way1通过JDBC 驱动程序定义的数据源 way2通过JNDI 查找的数据源 way3连接池的数据源 【2.1】使用JNDI 数据源 1intro to jndi http://blog.csdn.net/pacosonswjtu/article/details/51644550 2利用spring可以像使用 spring bean 那样配置 JNDI 中数据源的引用并将其装配到需要的类中 3使用 java配置 将 JNDI数据源装配到需要的类中for spec info ,please visit  tomcat中配置jndi数据源以便spring获取 Bean // 使用JNDI 数据源.public DataSource dataSource() {JndiTemplate jndiTemplate new JndiTemplate();DataSource dataSource null;try {dataSource (DataSource) jndiTemplate.lookup(java:comp/env/jdbc/spring);} catch (NamingException e) {e.printStackTrace();}return dataSource;} 【2.2】使用数据源连接池strongly recommended 1intro直接在spring中配置数据源但spring并没有提供数据源连接池的实现但可以有多项可用方案schema scheme1Apache Commons DBCPhttp://commons.apache.org/proper/commons-dbcp/configuration.html scheme2c3p0https://sourceforge.net/projects/c3p0/ scheme3BoneCPhttp://www.jolbox.com/ 2看个荔枝配置DBCP BasicDataSource Beanpublic BasicDataSource getDataSource() {BasicDataSource ds new BasicDataSource();ds.setDriverClassName(com.mysql.jdbc.Driver);ds.setUrl(jdbc:mysql://localhost:3306/t_spring);ds.setUsername(root);ds.setPassword(root);return ds;} 3BasicDataSource的连接池配置属性如下所示 t6 【2.3】基于JDBC 驱动的数据源 1intro在spring中通过JDBC驱动定义数据源是最简单的配置方式spring提供了3个这样的数据源类以供选择 type1DriverManagerDataSource在每个连接请求时都会返回一个新建的连接。与 DBCP 的 BasicDataSource 不同由DriverManagerDataSource 提供的连接并没有进行池化管理干货——引入了池化管理 type2SimpleDriverDataSource它直接使用 JDBC驱动来解决再特定环境下的类加载问题这样的环境包括 OSGi 容器 type3SingleConnectionDataSource 在每个连接请求时都会返回同一个的连接。尽管 SingleConnectionDataSource不是严格意义上的连接池数据源但是你可以将其视为只有一个连接的池 【3】在spring中使用 JDBC 【3.2】使用 JDBC模板1spring将数据访问的样本代码抽象到 模板类中spring为jdbc提供了3个模板类选择分别是 JdbcTemplate NamedParameterJdbcTemplate 和 SimpleJdbcTemplate已经被弃用而原书作者推荐了 JdbcTemplate干货——原书作者推荐了 JdbcTemplate2intro to JdbcTemplate最基本的spring jdbc模板支持简单的JDBC数据库访问功能以及基于索引参数的查询【3.2.1】使用 JdbcTemplate来插入数据1为了使其正常工作只需要为其设置 DataSource就可以了(for org.springframework.jdbc.core.JdbcOperations API  , 参见  JdbcTemplate API)Configuration public class RepositoryConfig {Beanpublic BasicDataSource getDataSource() {BasicDataSource ds new BasicDataSource();ds.setDriverClassName(com.mysql.jdbc.Driver);ds.setUrl(jdbc:mysql://localhost:3306/t_spring);ds.setUsername(root);ds.setPassword(root);return ds;}Beanpublic JdbcTemplate getJdbcTemplate(DataSource ds) {return new JdbcTemplate(ds);} }2使用JdbcTemplate 来读取数据Repository public class SpittleRepositoryImpl implements SpittleRepository {private JdbcOperations jdbc;Autowiredpublic SpittleRepositoryImpl(JdbcOperations jdbc) {this.jdbc jdbc;}public ListSpittle findSpittles(long limit, int offset) {return jdbc.query(select id, name from t_two limit ? offset ?, new SpittleRowMapper(), limit, offset);}private static class SpittleRowMapper implements RowMapperSpittle {public Spittle mapRow(ResultSet rs, int rowNum) throws SQLException {return new Spittle(rs.getInt(id), rs.getString(name));}}Overridepublic Spittle findSpittle(int id) {return jdbc.queryForObject(select id,name,address from t_two where id?, new RowMapperSpittle() { // ڲOverridepublic Spittle mapRow(ResultSet rs, int rowNum) throws SQLException {return new Spittle(rs.getInt(id), rs.getString(name),rs.getString(address));}}, id);}Overridepublic int getItemSum() {return (int) jdbc.queryForObject(select count(*) as item_sum from t_two, new RowMapperObject() {Overridepublic Object mapRow(ResultSet rs, int rowNum) throws SQLException {return rs.getInt(item_sum);}});} }对以上代码的分析Analysis这个findOne()方法 使用了 JdbcTemplate.queryForObject() 方法来从数据库查询 SpitterqueryForObject() 方法有三个参数parameter1String对象包含了要从数据库中查找数据的SQL parameter2RowMapper对象用来从 ResultSet 中提取数据并构建域对象 parameter3可变参数列表列出了要绑定到查询上的索引参数值Prepared Statement预备语句 Attention值得注意的是 SpitterRowMapper对象中它实现了 RowMapper接口。对于查询返回的每一行数据JdbcTemplate 将会调用 RowMapper.mapRow()方法并传入一个 ResultSet 和 包含行号的整数。在 SpitterRowMapper.mapRow()方法中我们创建了 Spitter对象并将 ResultSet中的值填充进去【3.2.2】使用命名参数1intro命名参数可以赋予SQL 中的每个参数一个明确的名字在绑定值到查询语句的时候就通过该名字来引用参数。2看个荔枝若某个sql 查询语句定义如下private static final String SQL_INSERT_SPITTER insert into spitter (username, password, fullname) values (:username, :password, :fullname);对以上代码的分析Analysis使用命名参数查询绑定值的顺序就不重要了可以按照名字来绑定值如果查询语句发生了变化导致参数的顺序与之前不一致我们不需要修改绑定的代码AttentionNamedParameterJdbcTemplate 是一个特殊的 JDBC模板类它支持使用命名参数其声明方式通过 JdbcTemplate干货——NamedParameterJdbcTemplate 支持命名参数Bean public NamedParameterJdbcTemplate jdbcTemplate(DataSource dataSource) {return new NamedParameterJdbcTemplate(dataSource); }3)看个荔枝我们将 NamedParameterJdbcOperationsNamedParameterJdbcTemplate所实现的接口注入到 Repository中用它来替代 JdbcOperations现在的addSpitter()方法如下所示private static final String INSERT_SPITTER insert into Spitter (username, password, fullname, email, updateByEmail) values (:username, :password, :fullname, :email, :updateByEmail); public void addSpitter(Spitter spitter) {MapString, Object paramMap new HashMapString, Object();paramMap.put(username, spitter.getUsername());paramMap.put(password, spitter.getPassword());paramMap.put(fullname, spitter.getFullName());paramMap.put(email, spitter.getEmail());paramMap.put(updateByEmail, spitter.isUpdateByEmail());jdbcOperations.update(INSERT_SPITTER, paramMap); }
http://www.pierceye.com/news/551034/

相关文章:

  • 网站建设空间申请wordpress 学校主题
  • 长沙市建设工程质量安全监督站官方网站做网站入门看什么书
  • 网站设计 素材代账行业门户网站开发
  • 旅游公司网站开发与实现如何建立公司网站
  • 专门做金融培训的网站有哪些wordpress注册没反应
  • 网站备案部门建设厅焊工证什么样子
  • 南宁市建设工程质量监督站网站设计模式
  • 做理财的网站科技公司网站模板官网
  • 在线网站建设课程济宁网站建设 企诺
  • 北京专业网站制作技术手机网站建好怎么发布
  • 谷歌网站建站wordpress 页面和文章
  • 网站建设基本目标如何建设 linux 网站
  • 电子商务网站开发 php汕头 网站建设
  • 郑州做网站的论坛山西利用模板建站
  • 网站引流.定期报告系统下载官网
  • 北京网站排名珠海 网页设计
  • 长春火车站防疫政策wordpress调用图片代码
  • 建设论坛网站自学江苏中小企业网站建设
  • 东莞网站建设效果好网站建设制作设计
  • 成华区建设局门户网站wordpress.fr
  • 河北制作网站模板建站公司网站开发流程的认识
  • 天津网站建设有哪些做网站的公司为什么人少了
  • 提供中山精品网站建设建俄语网站哪个公司最好
  • 建设银联官方网站怎样在网站做宣传
  • 网站开发支付宝二维码支付建设网站装配式建筑楼房
  • 湖北系统建站怎么用做网站买一个域名就够了吗
  • 如何做问卷调查网站济南网络公司
  • 纯js做网站Wordpress税
  • 建云科技网站首页阿里云 wordpress 安装
  • 浙江省建设工程协会网站动漫网站的设计与实现