Continue with the previous article , use spring JdbcTemplate in spring boot (1) - connection pool to create multiple connections
Now let's take a look at how to use spring's JDBCTemplate to add, delete, modify, and query.
1. Add:
public int insert(JdbcTemplate jdbcTemplate) { String sql = "insert into student(id,name,age,address) values(?,?,?,?)"; int row = jdbcTemplate.update(sql, 2, "xiaohong", 13, "bbb"); return row; }
2. Modify:
public int update(JdbcTemplate jdbcTemplate) { String sql = "update student set name=? where id= ?"; int row = jdbcTemplate.update(sql, "xiaoxiao", 1); return row; }
3. Delete
public int delete(JdbcTemplate jdbcTemplate) { String sql = "delete from student where id=?"; int row = jdbcTemplate.update(sql, 2); return row; }
4. Query
Query - query returns List<Map<String,Object> without parameters
public List<Map<String, Object>> query(JdbcTemplate jdbcTemplate) { String sql = "select * from student"; return jdbcTemplate.queryForList(sql); }
Query -
query returns List<Map<String,Object>> with parameters
public List<Map<String, Object>> queryWithObject(JdbcTemplate jdbcTemplate) { String sql = "select * from student where id=?"; return jdbcTemplate.queryForList(sql, 1); }Query - returns custom type, List<Student>
public List<Student> queryAndReturnObject(JdbcTemplate jdbcTemplate) { String sql = "select * from student"; List<Student> students = jdbcTemplate.query(sql, new RowMapper<Student>() { @Override public Student mapRow(ResultSet resultSet, int i) throws SQLException { Student student = new Student(); student.setId(resultSet.getInt("id")); student.setAddress(resultSet.getString("address")); student.setName(resultSet.getString("name")); student.setAge(resultSet.getInt("age")); return student; } }); return students; }Query - return custom type, List<StudentNew>, do rowMapper in entity class
public class StudentNew implements RowMapper<StudentNew>, Serializable { private int id; private String name; private int age; private String address; public StudentNew() { } public StudentNew(int id, String name, int age, String address) { this.id = id; this.name = name; this.age = age; this.address = address; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public StudentNew mapRow(ResultSet resultSet, int i) throws SQLException { StudentNew studentNew = new StudentNew(); studentNew.setId(resultSet.getInt("id")); studentNew.setAge(resultSet.getInt("age")); studentNew.setName(resultSet.getString("name")); studentNew.setAddress(resultSet.getString("address")); return studentNew; } }
public List<StudentNew> queryAndReturnObject2(JdbcTemplate jdbcTemplate) { String sql = "select * from student"; List<StudentNew> studentNews = jdbcTemplate.query(sql, new StudentNew()); return studentNews; }Query - conditional query returns List<StudentNew>
public List<StudentNew> queryAndReturnObject3(JdbcTemplate jdbcTemplate) { String sql = "select * from student where id =?"; List<StudentNew> studentNews = jdbcTemplate.query(sql, new StudentNew(), 1); return studentNews; }
To sum up, it is how to add, delete, modify and check in spring JdbcTemplate.