Java如何使用JdbcTemplate更新数据库中的记录?
下面演示的示例将向您展示如何使用该JdbcTemplate.update()方法更新数据库中的记录。此方法返回一个整数值,该整数值指示执行查询时数据库中更新的记录数。
package org.nhooo.example.spring.jdbc;import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import javax.sql.DataSource;
import java.sql.Types;
import java.util.Date;
public class UpdateDemo {
public static final String DRIVER = "com.mysql.jdbc.Driver";
public static final String URL = "jdbc:mysql://localhost/mediadb";
public static final String USERNAME = "root";
public static final String PASSWORD = "";
public static final String QUERY =
"UPDATE records SET title = ?, release_date = ? WHERE id = ?";
private DataSource dataSource;
public UpdateDemo(DataSource dataSource) {
this.dataSource = dataSource;
}
public static void main(String[] args) {
DataSource ds = getDataSource();
UpdateDemo demo = new UpdateDemo(ds);
Long id = 2L;
String title = "The Beatles 1967 - 1970";
Date releaseDate = new Date();
demo.updateRecord(id, title, releaseDate);
}
public void updateRecord(Long id, String title, Date releaseDate) {
// 创建JdbcTemplate的实例并设置DataSource。
// 我们可以使用模板的update()方法来更新记录
//在数据库中。下面我们使用一个update()方法来接受
// 三个参数:sql查询,参数值和
// 参数数据类型。
JdbcTemplate template = new JdbcTemplate(this.dataSource);
Object[] params = {title, releaseDate, id};
int[] types = {Types.VARCHAR, Types.DATE, Types.BIGINT};
int rows = template.update(UpdateDemo.QUERY, params, types);
System.out.println(rows + " row(s) updated.");
}
/**
* Returns a data source object.
*
* @return a DataSource.
*/
public static DataSource getDataSource() {
DriverManagerDataSource ds = new DriverManagerDataSource();
ds.setDriverClassName(UpdateDemo.DRIVER);
ds.setUrl(UpdateDemo.URL);
ds.setUsername(UpdateDemo.USERNAME);
ds.setPassword(UpdateDemo.PASSWORD);
return ds;
}
}
以上是 Java如何使用JdbcTemplate更新数据库中的记录? 的全部内容, 来源链接: utcz.com/z/321406.html