Spring JdbcTemplate 配置

引入jar包

在这里插入图片描述

直接配置

//创建数据源(连接池) dbcp
        BasicDataSource basicDataSource = new BasicDataSource();
        basicDataSource.setDriverClassName("驱动");
        basicDataSource.setUrl("连接到的库的url");
        basicDataSource.setUsername("用户名");
        basicDataSource.setPassword("密码");
        //创建模板
        JdbcTemplate jdbcTemplate = new JdbcTemplate();
        jdbcTemplate.setDataSource(basicDataSource);
        //通过api操作
        jdbcTemplate.update("insert into `admin`(id,username,password) values(?,?,?)","2","xiaoming","1234");

基于xml配置

javabean:

@Getter@Setter
public class Admin {
    String id;
    String username;
    String password;

    @Override
    public String toString() {
        return "Admin{" +
                "id='" + id + '\'' +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

DAO层:

public class AdminDao {
    private JdbcTemplate jdbcTemplate;

    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    public void insertAdmin(Admin admin)
    {
        String sql = "insert into `admin`(id,username,password) values(?,?,?)";
        Object[] args = {admin.getId(), admin.getUsername(), admin.getPassword()};
        jdbcTemplate.update(sql,args);
    }
}

xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入aop命名空间-->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
    <!--创建数据源-->
    <bean id="dataSourceId" class="org.apache.commons.dbcp2.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://localhost:3306/mystore"></property>
        <property name="username" value="root"></property>
        <property name="password" value="Zsw.317412696"></property>
    </bean>
    <!--创建模板,需要注入数据源-->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSourceId"></property>
    </bean>
    <!--配置dao-->
    <bean id="adminDao" class="com.zamao.JDBCTemplate.AdminDao">
        <property name="jdbcTemplate" ref="jdbcTemplate"></property>
    </bean>
</beans>

测试类:

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("com/zamao/JDBCTemplate/applicationContext.xml");
AdminDao adminDao = (AdminDao) applicationContext.getBean("adminDao");
Admin admin = new Admin();

admin.setId("3");
admin.setUsername("suojiji");
admin.setPassword("1234");

adminDao.insertAdmin(admin);

使用c3p0创建数据源

只需要修改xml中配置数据源中的property中的name属性。

    <bean id="dataSourceId" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/mystore"></property>
        <property name="user" value="root"></property>
        <property name="password" value="Zsw.317412696"></property>
    </bean>

使用JdbcDaoSupport进行配置

JdbcDaoSupport类中有生成JdbcTemplate的方法,还有配置数据源的set方法,所以DAO层继承JdbcDaoSupport可以不用创建JdbcTemplate对象,并配置数据源了。
继承JdbcDaoSupport的DAO层:

public class AdminDao extends JdbcDaoSupport {

    public void insertAdmin(Admin admin)
    {
        String sql = "insert into `admin`(id,username,password) values(?,?,?)";
        Object[] args = {admin.getId(), admin.getUsername(), admin.getPassword()};
        this.getJdbcTemplate().update(sql,args);
    }
    public List<Admin> findAll()
    {
        return this.getJdbcTemplate().query("select * from `admin`", BeanPropertyRowMapper.newInstance(Admin.class));
    }
}

xml:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入aop命名空间-->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context-4.0.xsd">
    <!--创建数据源-->
    <bean id="dataSourceId" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/mystore"></property>
        <property name="user" value="root"></property>
        <property name="password" value="Zsw.317412696"></property>
    </bean>
    <!--配置dao-->
    <bean id="adminDao" class="com.zamao.JDBCDAPSupport.AdminDao">
        <property name="dataSource" ref="dataSourceId"></property>
    </bean>
</beans>

引入properties文件进行配置

一般开发时,我们会将配置数据源所需要的变量都放在一个properties文件中。
jdbc.properties:

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/mystore
jdbc.user=root
jdbc.password=Zsw.317412696

xml文件中引入properties:

 <!--加载配置文件
        "classpath:前缀表示src下"
    -->
 <context:property-placeholder location="classpath:com/zamao/JDBCDAPSupport/jdbcInfo.properties"/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值