美文网首页
JDBCtemplete 替代 dbutils 实现 dao 操

JDBCtemplete 替代 dbutils 实现 dao 操

作者: 走在冷风中吧 | 来源:发表于2020-02-05 12:12 被阅读0次

1.pom.xml

    <dependencies>
  ...
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.0.0.RELEASE</version>
        </dependency>
    </dependencies>
  1. 配置 spring config 文件
<?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: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
         https://www.springframework.org/schema/context/spring-context.xsd">

    <context:property-placeholder location="druid_datasource_config.properties"/>
    <context:component-scan base-package="org.example"/>

    <bean id="datasource" class="com.alibaba.druid.pool.DruidDataSource">

        <property name="username" value="${jdbc.name}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="driverClassName" value="${jdbc.driver}"/>


    </bean>
//jdbctemplete 需要datasource 属性对象
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="datasource"/>
    </bean>

</beans>
  1. Dao操作
@Component
public class AccountDaoImpl implements AccountDao {


    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Override
    public void addAccount(AccountBean accountBean) {
        String sql = "insert into account values(null,?,?) ";
        //执行 sql
        jdbcTemplate.update(sql, accountBean.getUsername(), accountBean.getMoney());
    }

    @Override
    public List<AccountBean> queryAll() {
        String sql = "select * from account";
        List<AccountBean> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(AccountBean.class));
        return query;
    }

    @Override
    public void update(String username, double money) {
        String sql = "update account set money = money + ? where username = ?";
        jdbcTemplate.update(sql, money, username);
    }
}
  1. test

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:bean.xml")
public class MyTest01 {

    @Autowired
    private AccountService accountService;

    @Test
    public void test01(){
        List<AccountBean> list = accountService.findAll();
        list.forEach(a -> System.out.println(a));
    }

}

相关文章

网友评论

      本文标题:JDBCtemplete 替代 dbutils 实现 dao 操

      本文链接:https://www.haomeiwen.com/subject/vctsxhtx.html