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

一般网站后台地址合肥seo网站管理

一般网站后台地址,合肥seo网站管理,石家庄网站编辑,网站制作和如何推广一、JDBC 模板技术概述 1、什么模板技术? Spring 框架中提供了很多持久层的模板类来简化编程,使用模板类编写程序会变的简单。 2、template 模板 都是 Spring 框架来提供XxxTemplate,比如Spring框架提供了 JDBC 模板。 JdbcTemplate 类&…

一、JDBC 模板技术概述

1、什么模板技术?

  Spring 框架中提供了很多持久层的模板类来简化编程,使用模板类编写程序会变的简单。

2、template 模板

  都是 Spring 框架来提供XxxTemplate,比如Spring框架提供了 JDBC 模板。

  JdbcTemplate 类,Connection 表示连接,管理事务 Statement ResultSet。

二、JDBC 的模板类使用

  Jdbc 模板类的使用,创建 maven 工程,引入坐标依赖。

<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.0.2.RELEASE</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.12</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.0.2.RELEASE</version></dependency><dependency><groupId>aopalliance</groupId><artifactId>aopalliance</artifactId><version>1.0</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>5.0.2.RELEASE</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.13</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.0.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>5.0.2.RELEASE</version></dependency>
</dependencies>

    其中,Spring框架的JDBC模板是否能使用取决于Spring-jdbc包。

    编写测试代码(自己来 new 对象的方式)

package com.qcbyjy.test;
import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;public class Demo1 {
/**
* 使用 new 对象方式完成
*/@Testpublic void run1(){// 创建连接池对象,Spring 框架内置了连接池对象DriverManagerDataSource dataSource = new DriverManagerDataSource();// 设置 4 个参数dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql:///spring_db");dataSource.setUsername("root");dataSource.setPassword("2005");// 提供模板,用有参构造器创建对象JdbcTemplate template = new JdbcTemplate(dataSource);// 完成数据的增删改查template.update("insert into account values (null,?,?)","熊大",1000);}
}

   在上述代码中,通过new关键字使用有参构造器创建template对象,而这个参数传的是连接池对象dataSource,其中包括了四个参数。

  此外,除了有参构造器创建对象,还可以使用set方法。

  所有的修改都用update,所有的查询都用select。

三、使用 Spring 框架来管理模板类

刚才编写的代码使用的是 new 的方式,应该把这些类交给 Spring 框架来管理。

Spring 管理内置的连接池

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-be
ans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/springcontext.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.
xsd">
<!--配置连接池-->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"
/>
<property name="url" value="jdbc:mysql:///spring_db" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
<!--配置 jdbc 模板-->
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
</beans>
编写测试方法
package com.qcbyjy.test;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.ContextConfiguration;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* 达内教育 -- 腾讯课程认证机构
* 史招阳
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(value = "classpath:applicationContext_jdbc.xml")
public class Demo1_1 {
@Autowired
private JdbcTemplate jdbcTemplate;
/**
* 测试的方式
*/
@Test
public void run1(){
jdbcTemplate.update("insert into account values (null,?,?)"," 熊二",500);
}
}

四、Spring 框架管理开源的连接池

配置开源的连接池,使用 Druid 开源的连接池,引入坐标如下

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
将数据库连接的信息配置到属性文件中
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///spring_db
jdbc.username=root
jdbc.password=root
完成核心配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-be
ans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/springcontext.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.
xsd">
<!--配置连接池,使用的是 Spring 框架内置的连接池
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"
/>
<property name="url" value="jdbc:mysql:///spring_db" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
-->
<!--使用开源连接池
<bean id="dataSource"
class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"
/>
<property name="url" value="jdbc:mysql:///spring_db" />
<property name="username" value="root" />
<property name="password" value="root" />
</bean>
-->
<!--加载属性文件
<bean id="placeholderConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderC
onfigurer">
<property name="location" value="classpath:jdbc.properties" />
</bean>
-->
<!--第二种写法:使用提供标签的方式-->
<context:property-placeholder
location="classpath:jdbc.properties" />
<!--加载属性的文件-->
<bean id="dataSource"
class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName"
value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<!--配置 jdbc 模板-->
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
</beans>

五、Spring 框架的 JDBC 模板的简单操作

增删改查代码编写

import com.qcbyjy.demo1.Account;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.test.context.ContextConfiguration;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(value = "classpath:applicationContext_jdbc.xml")
public class Demo1_1 {
@Autowired
private JdbcTemplate jdbcTemplate;
/**
* 测试的方式
*/
@Test
public void run1(){
jdbcTemplate.update("insert into account values (null,?,?)"," 熊四",800);
}
/**
* 修改
*/
@Test
public void run2(){
jdbcTemplate.update("update account set name = ?,money = ? where
id = ?","光头强",100,7);
}
/**
* 删除
*/
@Test
public void run3(){
jdbcTemplate.update("delete from account where id = ?",7);
}
/**
* 通过 id 查询
*/
@Test
public void run4(){
Account account = jdbcTemplate.queryForObject("select * from
account where id = ?", new BeanMapper(), 6);
System.out.println(account);
}
/**
* 查询所有的数据
*/
@Test
public void run5(){
List<Account> list = jdbcTemplate.query("select * from account",
new BeanMapper());
for (Account account : list) {
System.out.println(account);
}
}
}
/**
* 实现类,用来进行数据封装的
*/
class BeanMapper implements RowMapper<Account>{
/**
* 是一行一行进行数据封装的
* @param resultSet
* @param i
* @return
* @throws SQLException
*/
@Override
public Account mapRow(ResultSet resultSet, int i) throws
SQLException {
Account account = new Account();
account.setId(resultSet.getInt("id"));
account.setName(resultSet.getString("name"));
account.setMoney(resultSet.getDouble("money"));
return account;
}
}

http://www.cadmedia.cn/news/10159.html

相关文章:

  • 提供镇江网站建设阿里指数查询官网
  • 蛋糕店网站开发策划书seo外链论坛
  • 东营建网站搜索引擎优化自然排名的优点
  • 阳泉建设网站的公司seo长尾关键词优化
  • 顺德装修网站建设设计培训班学费一般多少
  • 企业网站做的比较好网络营销的策略包括
  • 凡科网站怎么做外链东莞互联网推广
  • 网站建设实训报告心得体会关键词优化需要从哪些方面开展?
  • 外网建筑设计网站关键词优化按天计费
  • 伊宁市建设局网站临沂seo整站优化厂家
  • 江苏有什么网站找工程建设人员高佣金app软件推广平台
  • 做购物网站需要多少钱百度发视频步骤
  • 建设一个微商的网站全球最大的磁力搜索引擎
  • 建设网站的个人心得体会重庆网站排名优化教程
  • 北京网站提升排名站长工具站长之家官网
  • 轴承 网站建设 企炬合肥瑶海区房价
  • 古装衣服店网站建设页面太原seo团队
  • 单职业传奇网站长春seo排名扣费
  • 建设一个营销网站有哪些步骤广告营销平台
  • 吉利的广告公司名字seo软件开发
  • 可视化网站建设软件百度云搜索
  • 广州网站优化招聘云优化
  • 企业系统查询邯郸seo营销
  • 网页设计与网站建设全攻略链网
  • 政府网站建设自评报告企业培训课程价格
  • 洛阳网站建设学校网盘资源共享群吧
  • 简单的网站怎么做的b站黄页推广
  • 鄄城网站建设怎么做电商创业
  • 广州萝岗网站建设江苏营销型网站建设
  • 互联网接入服务商是baike seotl