Spring中结合DBUtil连接数据库

applicationContext.xml文件配置

<bean id="comboPooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbcUrl" value="jdbc:mysql://localhost/person_blog?useUnicode=true&amp;characterEncoding=UTF8"></property>
        <property name="user" value="root"></property>
        <property name="password" value="root"></property>
    </bean>
    <bean id="queryRunner" class="org.apache.commons.dbutils.QueryRunner">
        <constructor-arg name="ds" ref="comboPooledDataSource"></constructor-arg>
    </bean>

Text测试

@RunWith(SpringRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class TestCom {
    @Autowired
    @Qualifier("comboPooledDataSource")
    DataSource dataSource;

    @Autowired
    @Qualifier("queryRunner")
    QueryRunner queryRunner;
    @Test
    public void test() throws SQLException {
        String sql = "select * from article";
        List<ArticleBean> allArticles = queryRunner.query(sql, new BeanListHandler<ArticleBean>(ArticleBean.class));
           System.out.println(allArticles);
    }
}

==在Java正式代码里面写时候,只需要把dataSource和queryRunner传入dao层即可,由controller来解决。==
Java(正式)代码中只需要用注解传递就行,最终到controller层在用加载applicationContext.xml文件。
例:

import com.zhanqiao.domain.MessageBean;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.List;
@Repository
public class MessageDao implements MassageDao{

    @Autowired
    @Qualifier("comboPooledDataSource")
    DataSource dataSource;

    @Autowired
    @Qualifier("queryRunner")
    QueryRunner queryRunner;
    @Override
    public int insertMessage(MessageBean messageBean) {

        return 0;
    }

    @Override
    public int deleteMessage(int articleId) {
        return 0;
    }

    @Override
    public List<MessageBean>  selectAll(String page,String limit) throws SQLException {
        int p=Integer.valueOf(page);
        int l=Integer.valueOf(limit);
        Object []pars={(p-1)*l,l};
        List<MessageBean> Messages = queryRunner.query("SELECT massage.*,user.uname FROM massage,user where massage.uid=user.uid GROUP BY mid limit ?,?",pars, new BeanListHandler<>(MessageBean.class));
       System.out.println(Messages);
        return  Messages;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值