先写spring.config.xml配置文件
spring.config.xml文件中配置数据库连接按照以下套路
1.引入数据库配置
DataSource
有三种方式,一种手动,两种通过读取properties文件完成
(1)手动配置JDBC
<
bean
class
="org.springframework.jdbc.datasource.DriverManagerDataSource"
name
="dataSource2"
>
<!--
驱动
-->
<
property
name
="driverClassName"
value
="com.mysql.jdbc.Driver"
/>
<!--
数据库地址
-->
<
property
name
="url"
value
="jdbc:mysql:///fruit?characterEncoding=utf-8&useUnicode=true"
/>
<!--
账号密码
-->
<
property
name
="username"
value
="root"
/>
<
property
name
="password"
value
=“123"
/>
</
bean
>
通过
properties
文件配置需要先引入properties文件,有两种方法
配置引入方法1:
引入
对应的
jdbc.properties文件
<
bean
class
="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
>
<
property
name
="location"
value
="classpath*:jdbc.properties"
/>
</
bean
>
配置引入方法2:
<
context
:
property-placeholder
location
="classpath:jdbc.properties"
/>
两种方式选一种就够了,建议选第二种方法,因为代码少。。。
(2)通过propreties文件配置jdbc
<
bean
class
="org.apache.commons.dbcp.BasicDataSource"
name
="dataSource"
>
<
property
name
="driverClassName"
value
="${drivarname}"
/>
<
property
name
="url"
value
="${url}"
/>
<
property
name
="username"
value
="${username}"
/>
<
property
name
="password"
value
="${password}"
/>
</
bean
>
(3)通过properties文件配置C3P0
<
bean
class
="com.mchange.v2.c3p0.ComboPooledDataSource"
name
="comboPooledDataSource"
>
<
property
name
="driverClass"
value
="${drivarname}"
/>
<
property
name
="jdbcUrl"
value
="${url}"
/>
<
property
name
="user"
value
="${username}"
/>
<
property
name
="password"
value
="${password}"
/>
</
bean
>
2.创建模板对象
JdbcTemplate
依赖
DataSource
<
bean
name
="jdbcTemplate"
class
="org.springframework.jdbc.core.JdbcTemplate"
>
<!--
根据name把
数据库连接池注入到
JDBC
模板中
-->
<
property
name
=
"dataSource"
ref
="dataSource2"
/>
</
bean
>
3.把模板注入到Dao层对象中
创建
Dao
层对象,依赖于
JdbcTemplate
<
bean
class
="com.lanou3g.dao.impl.HeroDaoImpl"
name
="heroDao2"
>
<
property
name
="jdbcTemplate"
ref
="jdbcTemplate"
/>
<!--
直接往
Dao
层注入数据库连接池
也会自动创建
jdbcTemplate -->
<!--<property name="dataSource" ref="dataSource"/>-->
</
bean
>
在dao层中连接数据库操作:
dao层要继承 JdbcDaoSupport类
模板会被注入到HeroDemoImpl的父类JdbcDaoSupport里面,父类中有一系列操作模板的方法
public class HeroDaoImpl extends JdbcDaoSupport implements HeroDao{ @Override public void add() { System.out.println("实现数据库的增加方法"); //编写SQL String sql ="INSERT INTO hero VALUES (NULL ,?,?,NULL )"; //使用JDBC模板执行SQL this.getJdbcTemplate().update(sql,"小花","女"); } }