1、使用JdbcTemplate的execute()方法執行SQL語句
1
|
jdbcTemplate.execute( "CREATE TABLE USER (user_id integer, name varchar(100))" ); |
2、如果是UPDATE或INSERT,可以用update()方法。
1
2
3
4
5
|
jdbcTemplate.update( "INSERT INTO USER VALUES('" + user.getId() + "', '" + user.getName() + "', '" + user.getSex() + "', '" + user.getAge() + "')" ); |
3、帶參數的更新
1
2
3
|
jdbcTemplate.update( "UPDATE USER SET name = ? WHERE user_id = ?" , new Object[] {name, id}); jdbcTemplate.update( "INSERT INTO USER VALUES(?, ?, ?, ?)" , new Object[] {user.getId(), user.getName(), user.getSex(), user.getAge()}); |
4、使用JdbcTemplate進行查詢時,使用queryForXXX()等方法。查詢單列或者列表。
01
02
03
04
05
06
07
08
09
10
11
12
|
int count = jdbcTemplate.queryForInt( "SELECT COUNT(*) FROM USER" ); String name = (String) jdbcTemplate.queryForObject( "SELECT name FROM USER WHERE user_id = ?" , new Object[] {id}, java.lang.String. class ); List rows = jdbcTemplate.queryForList( "SELECT * FROM USER" ); List rows = jdbcTemplate.queryForList( "SELECT * FROM USER" ); Iterator it = rows.iterator(); while (it.hasNext()) { Map userMap = (Map) it.next(); System.out.print(userMap.get( "user_id" ) + "\t" ); System.out.print(userMap.get( "name" ) + "\t" ); System.out.print(userMap.get( "sex" ) + "\t" ); System.out.println(userMap.get( "age" ) + "\t" ); } |
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
final String id = user.getId(); final String name = user.getName(); final String sex = user.getSex() + "" ; final int age = user.getAge(); jdbcTemplate.update( "INSERT INTO USER VALUES(?, ?, ?, ?)" , new PreparedStatementSetter() { public void setValues(PreparedStatement ps) throws SQLException { ps.setString( 1 , id); ps.setString( 2 , name); ps.setString( 3 , sex); ps.setInt( 4 , age); } }); final User user = new User(); jdbcTemplate.query( "SELECT * FROM USER WHERE user_id = ?" , new Object[] {id}, new RowCallbackHandler() { public void processRow(ResultSet rs) throws SQLException { user.setId(rs.getString( "user_id" )); user.setName(rs.getString( "name" )); user.setSex(rs.getString( "sex" ).charAt( 0 )); user.setAge(rs.getInt( "age" )); } }); // 注意在Spring2.0前後是有區別的,後改爲RowMapperResultSetExtractor class UserRowMapper implements RowMapper { public Object mapRow(ResultSet rs, int index) throws SQLException { User user = new User(); user.setId(rs.getString( "user_id" )); user.setName(rs.getString( "name" )); user.setSex(rs.getString( "sex" ).charAt( 0 )); user.setAge(rs.getInt( "age" )); return user; } } public List findAllByRowMapperResultReader() { String sql = "SELECT * FROM USER" ; return jdbcTemplate.query(sql, new RowMapperResultReader( new UserRowMapper())); } |
1
2
3
4
5
6
|
public User getUser( final String id) throws DataAccessException { String sql = "SELECT * FROM USER WHERE user_id=?" ; final Object[] params = new Object[] { id }; List list = jdbcTemplate.query(sql, params, new RowMapperResultReader( new UserRowMapper())); return (User) list.get( 0 ); } |
更多免費技術資料可關注:annalin1203