Spring-使用JDBC模板CRUD
  TEZNKK3IfmPf 2023年11月13日 27 0
  • 代码如下:
/**
* @author: BNTang
**/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class Demo {
@Resource
private JdbcTemplate jdbcTemplate;
@Test
public void insertDemo() {
jdbcTemplate.update("insert into account values (null, ?, ?)", "BNTang",10000d);
}
}

删除操作

  • 代码如下:
/**
* @author: BNTang
**/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class Demo {
@Resource
private JdbcTemplate jdbcTemplate;
@Test
public void deleteDemo() {
jdbcTemplate.update("delete from account where id = ?", 1);
}
}

更新操作

  • 代码如下:
/**
* @author: BNTang
**/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class Demo {
@Resource
private JdbcTemplate jdbcTemplate;
@Test
public void updateDemo() {
jdbcTemplate.update("update account set name = ?,money = ? where id = ?", "JonathanTang", 2000d, 8);
}
}

查询操作

查询某一个字段

  • 代码如下,通过​​queryForObject​​ 进行查询
/**
* @author: BNTang
**/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class Demo {
@Resource
private JdbcTemplate jdbcTemplate;
@Test
public void queryDemo() {
String name = jdbcTemplate.queryForObject("select name from account where id = ?", String.class, 8);

System.out.println(name);
}
}
  • 还可以查询合函数的结果,代码如下:
/**
* @author: BNTang
**/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class Demo {
@Resource
private JdbcTemplate jdbcTemplate;
@Test
public void queryDemo() {
Long count = jdbcTemplate.queryForObject("select count(*) from account", Long.class);

System.out.println(count);
}
}

查询返回对象的集合

  • 创建​​Account​​ 实体类用来封装查询结果数据
/**
* @author: BNTang
**/
public class Account {

private Integer id;
private String name;
private BigDecimal money;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public BigDecimal getMoney() {
return money;
}

public void setMoney(BigDecimal money) {
this.money = money;
}

@Override
public String toString() {
return "Account{" +
"id=" + id +
", name='" + name + '\'' +
", money=" + money +
'}';
}
}

 

  • 测试代码如下:
  • 这是查询​​单行​​ 数据
  • 主要就是自己创建一个类实现​​RowMapper​​ 接口,实现当中的一个方法自己手动的进行封装

 

Spring-使用JDBC模板CRUD

/**
* @author: BNTang
**/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class Demo {
@Resource
private JdbcTemplate jdbcTemplate;
@Test
public void queryDemo() {
Account account = jdbcTemplate.queryForObject("select * from account where id = ?", new MyRowMapper(), 8);

System.out.println(account);
}
}

class MyRowMapper implements RowMapper<Account>{

@Override
public Account mapRow(ResultSet resultSet, int i) throws SQLException {
Account account = new Account();

account.setId(resultSet.getInt("id"));
account.setName(resultSet.getString("name"));
account.setMoney(resultSet.getBigDecimal("money"));

return account;
}
}

 

  • 查询多行数据
  • 测试代码如下:

 

Spring-使用JDBC模板CRUD

/**
* @author: BNTang
**/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class Demo {
@Resource
private JdbcTemplate jdbcTemplate;
@Test
public void queryDemo() {
List<Account> accountList = jdbcTemplate.query("select * from account", new MyRowMapper());

accountList.forEach(System.out::println);
}
}

class MyRowMapper implements RowMapper<Account>{

@Override
public Account mapRow(ResultSet resultSet, int i) throws SQLException {
Account account = new Account();

account.setId(resultSet.getInt("id"));
account.setName(resultSet.getString("name"));
account.setMoney(resultSet.getBigDecimal("money"));

return account;
}
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月17日   46   0   0 JSpspring
TEZNKK3IfmPf