Spring的JdbcTemplate

来源:互联网 发布:淘宝app五星评价 编辑:程序博客网 时间:2024/06/05 02:18

1.   SpringJdbcTemplate.

DbUtils工具类JdbcTemplate类似.
JDBC     :org.springframework.jdbc.core.JdbcTemplate
Hibernate3.0     :   org.springframework.orm.hibernate3.HibernateTemplate
IBatis(MyBatis)  :   org.springframework.orm.ibatis.SqlMapClientTemplate
JPA  org.springframework.orm.jpa.JpaTemplate

1.1    使用JDBC模板开发:

步骤一:导入jar.

* spring环境需要的jar包(6个)
* spring-jdbc-3.2.0.RELEASE.jar
* spring-tx-3.2.0.RELEASE.jar
* 引入数据库驱动包:

 

步骤二:入门案例:

需要连接池:

// 使用SPring的内置连接池:
    DriverManagerDataSource dataSource = new DriverManagerDataSource();
    // 设置基本参数:
    dataSource.setDriverClassName("com.mysql.jdbc.Driver");
    dataSource.setUrl("jdbc:mysql:///spring3_day02");
    dataSource.setUsername("root");
    dataSource.setPassword("123");
   
    // 创建模板:
    JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
    jdbcTemplate.execute("create table user (id int primary key auto_increment,name varchar(20))");
 

1.2配置连接池:

第一种:配置Spring自带的连接池:

<!-- Spring自带连接池配置 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql:///spring3_day02"/>
    <property name="username" value="root"/>
    <property name="password" value="123"/>
</bean>

第二种:DBCP连接池配置:

导入DBCP连接池jar:

2jar包:
com.springsource.org.apache.commons.dbcp-1.2.2.osgi.jar
com.springsource.org.apache.commons.pool-1.5.3.jar

 

<!-- 配置DBCP连接池 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql:///spring3_day02"/>
    <property name="username" value="root"/>
    <property name="password" value="123"/>
</bean>

第三种:C3P0连接池配置:(*****)

导入C3P0连接池jar :

1jar包:
com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar

<!-- 配置C3p0连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass" value="com.mysql.jdbc.Driver"/>
    <property name="jdbcUrl" value="jdbc:mysql:///spring3_day02"/>
    <property name="user" value="root"/>
    <property name="password" value="123"/>
</bean>

1.3外部属性文件的引入:

src下定义了jdbc.properties文件

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql:///spring3_day02
jdbc.user = root
jdbc.password = 123

 

Spring的配置文件中引入外部属性文件 :

两种引入方式:

*第一种:
 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
          <property name="location" value="classpath:jdbc.properties"></property>
          </bean>
*第二种:
* 引入context约束:
<!-- 引入外部文件的第二种方式: -->
<context:property-placeholder location="classpath:jdbc.properties"/>

1.4Jdbc模板完成CRUD的操作:

Spring对持久层技术提供的支持的类:                        

JDBC     org.springframework.jdbc.core.support.JdbcDaoSupport
Hibernate 3.0    org.springframework.orm.hibernate3.support.HibernateDaoSupport
iBatis   org.springframework.orm.ibatis.support.SqlMapClientDaoSupport

 

使用JDBC模板完成CRUD操作:

* update(String sql,Object... args); ---增删改.
* 简单查询:
* 统计个数:
* select count(*) from user
* queryForInt(String sql);
 
* 查询3号用户的名称:
* select name from user where id = 3;
* queryForObject(String sql,Class clazz,Object... args);
 
* 复杂查询:
* 返回对象:
* select * from user where id = ?
* queryForObject(String sql,RowMapper rowMapper,Object... args);
* 返回集合:
* select * from user;
* query(String sql,RowMapper rowMapper,Object... args);
0 0
原创粉丝点击