Spring+Myecilpse+SqlServer2012配置(+C3P0)

来源:互联网 发布:儿童马甲淘宝 编辑:程序博客网 时间:2024/06/16 19:03

初学Spring不久,在配置数据库连接的时候花费了差不多一天时间,所以记下来以后以便查阅也方便了一下新手。

下面分别介绍是否使用C3P0连接池的两种方法。

两个项目结构均如下:
结构
一.Spring+Myecilpse+SqlServer2012+C3P0配置

1.Spring相应包加入类路径下

这一步不用详细解释吧,如果你连Spring的包都不能引入,那你还是学了Spring再来吧!(最好不要使用Myecilpse右键导入自带的Spring包,我使用那些包缺少一些类,可能Myecilpse版本有些低了吧)

2.导入commons-logging.jar
一个日志包,必须导入

3.创建applicationContext.xml和db.properties

applicationContext.xml

<?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:p="http://www.springframework.org/schema/p"    xmlns:aop="http://www.springframework.org/schema/aop"     xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/beans                                       http://www.springframework.org/schema/beans/spring-beans-3.1.xsd                                      http://www.springframework.org/schema/aop                                       http://www.springframework.org/schema/aop/spring-aop-2.5.xsd                                       http://www.springframework.org/schema/context                                     http://www.springframework.org/schema/context/spring-context.xsd">    <!-- 声明数据源配置文件 -->     <context:property-placeholder location="classpath:db.properties"/>     <!-- C3P0的类的使用,property name="driverClass"的driverClass键这些都不要改变 -->     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">            <property name="driverClass" value="${jdbc.driverClass}"></property>            <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>            <property name="user"  value="${jdbc.user}"> </property>              <property name="password" value="${jdbc.password}"></property>   </bean>   <!-- Spring文件中jdbcTemplate的使用 -->   <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">     <property name="dataSource" ref="dataSource"></property>    </bean> </beans>

db.properties

//确认SQLServer数据库是SQlServer身份验证而不是windows身份验证,不是的话自行百度修改 jdbc.user=sa //driverClass和jdbcUrl随SQLServer版本不同可能有改变 jdbc.password=159357 //用户名密码端口视自己情况改变,1433是默认端口 jdbc.driverClass=com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc.jdbcUrl=jdbc:sqlserver://localhost:1433

4.导入C3P0.jar和sqljdbc4.jar(SQLServer连接驱动包)到类路径下
相关文件自行百度下载(后面我会放上Myecilpse完整项目结构的所有文件,可以自行下载)

5.测试文件Main.java

package com.hello;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.jdbc.core.JdbcTemplate;public class Main {    private static ApplicationContext ctx;    public static void main(String[] args) {        ctx = new ClassPathXmlApplicationContext("applicationContext.xml");        //获取IoC容器中JdbcTemplate实例        JdbcTemplate jdbcTemplate=(JdbcTemplate) ctx.getBean("jdbcTemplate");        //必须声明数据库,表名前面dbo.可有可无        String sql="use sampledb insert into t_user (user_name,credits) values ('李子123546',1009)";         int count=jdbcTemplate.update(sql);        System.out.println(count);    }}

二.Spring+Myecilpse+SqlServer2012配置

1.Spring相应包加入类路径下
这一步不用详细解释吧,如果你连Spring的包都不能引入,那你还是学了Spring再来吧!(最好不要使用Myecilpse右键导入自带的Spring包,我使用那些包缺少一些类,可能Myecilpse版本有些低了吧)

2.导入commons-logging.jar
一个日志包,必须导入

3.创建applicationContext.xml和db.properties,applicationContext.xml有所不同,db.properties同上

applicationContext.xml

<?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:p="http://www.springframework.org/schema/p"    xmlns:aop="http://www.springframework.org/schema/aop"     xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/beans                                       http://www.springframework.org/schema/beans/spring-beans-3.1.xsd                                      http://www.springframework.org/schema/aop                                       http://www.springframework.org/schema/aop/spring-aop-2.5.xsd                                       http://www.springframework.org/schema/context                                     http://www.springframework.org/schema/context/spring-context.xsd">     <context:property-placeholder location="classpath:db.properties"/>     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">            <property name="driverClassName" value="${jdbc.driverClass}"></property>            <property name="url" value="${jdbc.jdbcUrl}"></property>             <property name="username"  value="${jdbc.user}"> </property>  <!-- ${jdbc.user}  -->             <property name="password" value="${jdbc.password}"></property>        </bean>   <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <property name="dataSource">            <ref bean="dataSource"/>            </property>    </bean>  <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">     <property name="dataSource" ref="dataSource"></property>    </bean>    <!-- 通过依赖注入userDao中的set方法将jdbcTemplate绑定 -->    <bean id="userDao" class="com.dao.userDao">        <property name="jdbcTemplate">            <ref bean="jdbcTemplate"/>        </property>        <property name="transactionManager">            <ref bean="transactionManager"/>        </property>    </bean></beans>

db.properties

//确认SQLServer数据库是SQlServer身份验证而不是windows身份验证,不是的话自行百度修改 jdbc.user=sa //driverClass和jdbcUrl随SQLServer版本不同可能有改变 jdbc.password=159357 //用户名密码端口视自己情况改变,1433是默认端口 jdbc.driverClass=com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc.jdbcUrl=jdbc:sqlserver://localhost:1433

4.sqljdbc4.jar到类路径下(注意没有C3P0这个包了)
相关文件自行百度下载(后面我会放上Myecilpse完整项目结构的所有文件,可以自行下载)

5.userDao.java

package com.dao;import org.springframework.dao.DataAccessException;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.TransactionStatus;import org.springframework.transaction.support.DefaultTransactionDefinition;public class userDao {    private JdbcTemplate jdbcTemplate;    private PlatformTransactionManager transactionManager;    private String sql;    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {        this.jdbcTemplate = jdbcTemplate;    }    public void setTransactionManager(PlatformTransactionManager transactionManager) {        this.transactionManager = transactionManager;    }    public void setSql(String sql) {        this.sql = sql;    }    public int  create(String msg) {        DefaultTransactionDefinition defaultTransactionDefinition=new DefaultTransactionDefinition();        TransactionStatus status=transactionManager.getTransaction(defaultTransactionDefinition);        int count=-1;        try {            count=jdbcTemplate.update(this.sql);        } catch (DataAccessException e) {            // TODO: handle exception            transactionManager.rollback(status);            throw e;        }finally{            transactionManager.commit(status);        }        return count;    }}

6.测试文件Main.java

package com.hello;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.dao.userDao;public class Main {    public static void main(String[] args) {        // TODO Auto-generated method stub        @SuppressWarnings("resource")        ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");        //获取IoC容器中JdbcTemplate实例        userDao userdao=(userDao) ctx.getBean("userDao");        //必须声明数据库,表名前面dbo.可有可无        String sql="use sampledb insert into t_user (user_name,credits) values ('李子',993)";        userdao.setSql(sql);        int count=userdao.create("123");        System.out.println(count);    }}

最后:两个测试的Myecilpse导出项目如下:
C3P0_JDBCTemplate.zip
JDBCTemplate.zip

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 樱桃吃多了胃不舒服怎么办 空腹吃水果胃不舒服怎么办 吃水果后胃不舒服怎么办 吃水果伤胃了怎么办 大人吃退烧药不出汗怎么办 稍微吃点凉水果胃就疼怎么办 1岁宝宝感冒发烧怎么办 3岁小儿反复发烧怎么办 热感冒喉咙疼要怎么办 孩子感冒咳嗽嗓子疼怎么办 孕妇感冒了嗓子疼咳嗽怎么办 4岁宝宝反复高烧怎么办 小孩吃完药不退烧怎么办 六个月婴儿发烧怎么办退烧快点 咳嗽20天老不好怎么办 吃过退烧药出汗怎么办 5岁儿童发烧39度怎么办 小孩烧到39度怎么办 儿童7岁发烧39度怎么办 发烧没药怎么办怎样退烧快 小孩发烧怎么办怎样退烧快 发烧头疼怎么办最快最有效 发烧头晕怎么办最快最有效 婴儿发烧怎么办最快最有效 孩子一直37度8怎么办 一岁半宝宝37度5怎么办 发烧打了针35度怎么办 小孩发烧吃了鱼怎么办 八个月婴儿发烧39度怎么办 婴儿反复发烧39度怎么办 宝宝发烧了怎么办如何退烧 宝宝烧到38.8度怎么办 小孩发烧到39度怎么办 宝贝发烧到40度怎么办 孩子发烧39度8怎么办 儿子发烧39度该怎么办 孩子发烧39度7怎么办 7个月婴儿发烧怎么办 感冒了头发很油怎么办 5岁宝宝发烧39度怎么办 婴儿烧到39.5度怎么办