package cn.outofmemory.snippets.enterprise;
import java.sql.Types; import java.util.Date;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DriverManagerDataSource;
public class InsertRecordInDatabaseWithJdbcTemplate {
private static final String driverClassName = "com.mysql.jdbc.Driver"; private static final String url = "jdbc:mysql://localhost/companydb"; private static final String dbUsername = "jcg"; private static final String dbPassword = "jcg"; private static final String insertSql = "INSERT INTO employee (" + " name, " + " surname, " + " title, " + " created) " + "VALUES (?, ?, ?, ?)"; private static DataSource dataSource; public static void main(String[] args) throws Exception { dataSource = getDataSource(); saveRecord("John", "Black", "Software developer", new Date()); saveRecord("Tom", "Green", "Project Manager", new Date()); } public static void saveRecord(String name, String surname, String title, Date created) { JdbcTemplate template = new JdbcTemplate(dataSource); // define query arguments Object[] params = new Object[] { name, surname, title, new Date() }; // define SQL types of the arguments int[] types = new int[] { Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.TIMESTAMP }; // execute insert query to insert the data // return number of row / rows processed by the executed query int row = template.update(insertSql, params, types); System.out.println(row + " row inserted."); } public static DriverManagerDataSource getDataSource() { DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName(driverClassName); dataSource.setUrl(url); dataSource.setUsername(dbUsername); dataSource.setPassword(dbPassword); return dataSource; }} CREATE TABLE companydb.employee ( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(45) NOT NULL, surname VARCHAR(45) NOT NULL, title VARCHAR(45) NOT NULL, created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) ); 输出:
1 row inserted. 1 row inserted.