JDBC操作数据库
JdbcTemplate是Spring框架提供的一个对JDBC进行封装的工具类,它用于简化JDBC的使用。
以下是使用JdbcTemplate操作数据库的一些常见方法:
1、使用JdbcTemplate插入数据:
@Autowired
private JdbcTemplate jdbcTemplate;public void insertData(String name, String email) {String sql = "INSERT INTO CUSTOMER (NAME, EMAIL) VALUES (?, ?)";jdbcTemplate.update(sql, name, email);
}
2.使用JdbcTemplate更新数据:
public void updateData(String name, String email, int id) {String sql = "UPDATE CUSTOMER SET NAME = ?, EMAIL = ? WHERE ID = ?";jdbcTemplate.update(sql, name, email, id);
}
3.使用JdbcTemplate删除数据:
public void deleteData(int id) {String sql = "DELETE FROM CUSTOMER WHERE ID = ?";jdbcTemplate.update(sql, id);
}
4.使用JdbcTemplate查询数据:
public Customer getCustomer(int id) {String sql = "SELECT ID, NAME, EMAIL FROM CUSTOMER WHERE ID = ?";Customer customer = jdbcTemplate.queryForObject(sql, new Object[]{id}, new BeanPropertyRowMapper<>(Customer.class));return customer;
}
5.使用JdbcTemplate查询多条数据:
public List<Customer> getAllCustomers() {String sql = "SELECT ID, NAME, EMAIL FROM CUSTOMER";List<Customer> customers = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Customer.class));return customers;
}
以上代码中,Customer是一个实体类,用于映射数据库表中的记录。
注意:在使用JdbcTemplate操作数据库时,需要处理SQLException,可以在方法上抛出或者try-catch处理。以上示例代码中,为了简洁,没有展示异常处理的代码。
如果需要临时写一些脚本初始化数据,需要同时操作多个数据库,可以手动去初始化 JdbcTemplate 对象
static {String BASE_URL = "jdbc:postgresql://ip:port/%s?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&useUnicode=true&useSSL=false";String driver = "org.postgresql.Driver";String user = "数据库用户名";String password = "数据库密码";String DB01_URL = String.format(BASE_URL, "db_01");String DB02_URL = String.format(BASE_URL, "db_02");DriverManagerDataSource dmds = new DriverManagerDataSource();dataSourceSLCYFH.setUrl(DB01_URL );dataSourceSLCYFH.setDriverClassName(driver);dataSourceSLCYFH.setUsername(user);dataSourceSLCYFH.setPassword(password);JDBC_TEMPLATE_01 = new JdbcTemplate(dmds);DriverManagerDataSource dataSource02 = new DriverManagerDataSource();dataSourceUcm.setUrl(DB02_URL );dataSourceUcm.setDriverClassName(driver);dataSourceUcm.setUsername(user);dataSourceUcm.setPassword(password);JDBC_TEMPLATE_02 = new JdbcTemplate(dataSource02);}@Testpublic void test01() {// 操作db_01数据库 使用 JDBC_TEMPLATE_01 // 操作db_02数据库 使用 JDBC_TEMPLATE_02 }
参考:
JdbcTemplate操作数据库
【SpringBoot框架篇】28.使用JdbcTemplate操作数据库