搜索
您的当前位置:首页正文

JDBC操作数据库

来源:榕意旅游网

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);
    }

    @Test
    public void test01() {
		// 操作db_01数据库 使用 JDBC_TEMPLATE_01 
		// 操作db_02数据库 使用 JDBC_TEMPLATE_02 
	}

参考:

因篇幅问题不能全部显示,请点此查看更多更全内容

Top