Spring JdbcTemplate的CRUD
程序员文章站
2022-04-23 15:53:40
...
导入jdbcTemplate依赖
dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
注入jdbcTemplate和数据源
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/spring?serverTimezone=UTC"></property>
<property name="username" value="root"></property>
<property name="password" value="liuqing.1998"></property>
</bean>
jdbcTemplateCURD
public class AccountDaoImpl implements AccountDao{
private JdbcTemplate jt ;
public void setJt(JdbcTemplate jt) {
this.jt = jt;
}
//new BeanPropertyRowMapper<Account>(Account.class)指定封装的结果集。
@Override
public Account findByName(String name) {
List<Account> accounts = jt.query("select * from account where name = ?", new BeanPropertyRowMapper<Account>(Account.class),name);
if(accounts.isEmpty()){
return null;
}
if(accounts.size()>1){
throw new RuntimeException("结果集不唯一");
}
return accounts.get(0);
}
@Override
public Account findById(Integer id) {
List<Account> accounts = jt.query("select * from account where id=?", new BeanPropertyRowMapper<Account>(Account.class), 1);
return accounts.isEmpty()?null:accounts.get(0);
}
@Override
public void update(Account account) {
jt.update("UPDATE account SET name=?,money=? WHERE id = ?",account.getName(),account.getMoney(),account.getId());
}
上一篇: vue组件name的介绍
推荐阅读