spring与jdbc



一、在spring中可以配置直接连接数据库的jdbc的配置方法

1、直接应用jdbc-Driver与数据库链接

(1)不用配置文件

            <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
                <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/uplooking"/>
                <property name="username" value="root"/>
                <property name="password" value=""/>
            </bean>

            <bean id="connection" factory-bean="dataSource" factory-method="getConnection"/>
            <bean id="statement" factory-bean="connection" factory-method="createStatement"/>
            <bean id="userDao" class="springHibernate.teacher.dao.UserDao">
                <property name="connection" ref="connection"/>
                <property name="statement" ref="statement"/>
            </bean>

            <bean id="user" class="springHibernate.teacher.User"/>

(2)应用配置文件

            <!--按照指定的路径加载配置文件-->

1、现在常用

                <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
                    <property name="locations">
                        <value>classpath:springHibernate/student/jdbc.properties</value>
                    </property>
                </bean>

                <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
                    <property name="driverClassName" value="${driver}"/>
                    <property name="url" value="${url}"/>
                    <property name="username" value="${username}"/>
                    <property name="password" value="${password}"/>
                </bean>

2、commons.dbcp这个包已过时

                <bean
                    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
                    <property name="locations">
                        <value>classpath:jdbc.properties</value>
                    </property>
                </bean>

                <bean id="dataSource" destroy-method="close"
                    class="org.apache.commons.dbcp.BasicDataSource">
                    <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>

                <!--
                    abstract="true" 告诉spring容器不要为该bean创建对象

–>

                <!--

第一种写法

–>

                <bean id="itheima09Template"
                    class="com.itheima09.spring.jdbc.template.Itheima09Template"
                    abstract="true">
                    <property name="dataSource">
                        <ref bean="dataSource"/>
                    </property>
                </bean>
                <bean id="personDao" class="com.itheima09.spring.jdbc.dao.PersonDao"
                parent="itheima09Template"></bean>
                <!--

第二种

–>

                <bean id="personDao2" class="com.itheima09.spring.jdbc.dao.PersonDao">
                    <property name="dataSource">
                        <ref bean="dataSource"/>
                    </property>
                </bean>
                <!--

第三种写法

–>

                <bean id="personDao3" class="com.itheima09.spring.jdbc.dao.PersonDao2">
                    <property name="itheima09Template">
                        <ref bean="itheima09Template"/>
                    </property>
                </bean>

                <bean id="personDao4" class="com.itheima09.spring.jdbc.dao.PersonDao3">
                    <constructor-arg index="0" ref="dataSource"></constructor-arg>
                </bean>