jdbctemplate的使用方法

上传人:第*** 文档编号:31075028 上传时间:2018-02-04 格式:DOCX 页数:5 大小:28KB
返回 下载 相关 举报
jdbctemplate的使用方法_第1页
第1页 / 共5页
jdbctemplate的使用方法_第2页
第2页 / 共5页
jdbctemplate的使用方法_第3页
第3页 / 共5页
jdbctemplate的使用方法_第4页
第4页 / 共5页
jdbctemplate的使用方法_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《jdbctemplate的使用方法》由会员分享,可在线阅读,更多相关《jdbctemplate的使用方法(5页珍藏版)》请在金锄头文库上搜索。

1、1、使用 JdbcTemplate 的 execute()方法执行 SQL 语句 Java 代码 1. jdbcTemplate.execute(CREATE TABLE USER (user_id integer, name varchar(100); 2、如果是 UPDATE 或 INSERT,可以用 update()方法。 Java 代码 1. jdbcTemplate.update(INSERT INTO USER VALUES( 2. + user.getId() + , 3. + user.getName() + , 4. + user.getSex() + , 5. + user

2、.getAge() + ); 3、带参数的更新 Java 代码 1. jdbcTemplate.update(UPDATE USER SET name = ? WHERE user_id = ?, new Object name, id); Java 代码 1. jdbcTemplate.update(INSERT INTO USER VALUES(?, ?, ?, ?), new Object user.getId(), user.getName(), user.getSex(), user.getAge(); 4、使用 JdbcTemplate 进行查询时,使用 queryForXXX()

3、等方法 Java 代码 1. int count = jdbcTemplate.queryForInt(SELECT COUNT(*) FROM USER); Java 代码 1. String name = (String) jdbcTemplate.queryForObject(SELECT name FROM USER WHERE user_id = ?, new Object id, java.lang.String.class); Java 代码 1. List rows = jdbcTemplate.queryForList(SELECT * FROM USER); Java 代码

4、 1. List rows = jdbcTemplate.queryForList(SELECT * FROM USER); 2. Iterator it = rows.iterator(); 3. while(it.hasNext() 4. Map userMap = (Map) it.next(); 5. System.out.print(userMap.get(user_id) + t); 6. System.out.print(userMap.get(name) + t); 7. System.out.print(userMap.get(sex) + t); 8. System.out

5、.println(userMap.get(age) + t); 9. JdbcTemplate 将我们使用的 JDBC 的流程封装起来,包括了异常的捕捉、 SQL 的执行、查询结果的转换等等。spring 大量使用 Template Method 模式来封装固定流程的动作,XXXTemplate 等类别都是基于这种方式的实现。 除了大量使用 Template Method 来封装一些底层的操作细节, spring 也大量使用callback 方式类回调相关类别的方法以提供 JDBC 相关类别的功能,使传统的 JDBC 的使用者也能清楚了解 spring 所提供的相关封装类别方法的使用。 JDB

6、C 的 PreparedStatement Java 代码 1. final String id = user.getId(); 2. final String name = user.getName(); 3. final String sex = user.getSex() + ; 4. final int age = user.getAge(); 5. 6. jdbcTemplate.update(INSERT INTO USER VALUES(?, ?, ?, ?), 7. new PreparedStatementSetter() 8. public void setValues(P

7、reparedStatement ps) throws SQLException 9. ps.setString(1, id); 10. ps.setString(2, name); 11. ps.setString(3, sex); 12. ps.setInt(4, age); 13. 14. ); Java 代码 1. final User user = new User(); 2. jdbcTemplate.query(SELECT * FROM USER WHERE user_id = ?, 3. new Object id, 4. new RowCallbackHandler() 5

8、. public void processRow(ResultSet rs) throws SQLException 6. user.setId(rs.getString(user_id); 7. user.setName(rs.getString(name); 8. user.setSex(rs.getString(sex).charAt(0); 9. user.setAge(rs.getInt(age); 10. 11. ); Java 代码 1. class UserRowMapper implements RowMapper 2. public Object mapRow(Result

9、Set rs, int index) throws SQLException 3. User user = new User(); 4. 5. user.setId(rs.getString(user_id); 6. user.setName(rs.getString(name); 7. user.setSex(rs.getString(sex).charAt(0); 8. user.setAge(rs.getInt(age); 9. 10. return user; 11. 12. 13. 14. public List findAllByRowMapperResultReader() 15

10、. String sql = SELECT * FROM USER; 16. return jdbcTemplate.query(sql, new RowMapperResultReader(new UserRowMapper(); 17. 在 getUser(id)里面使用 UserRowMapper Java 代码 1. public User getUser(final String id) throws DataAccessException 2. String sql = SELECT * FROM USER WHERE user_id=?; 3. final Object para

11、ms = new Object id ; 4. List list = jdbcTemplate.query(sql, params, new RowMapperResultReader(new UserRowMapper(); 5. 6. return (User) list.get(0); 7. 网上收集 org.springframework.jdbc.core.PreparedStatementCreator 返回预编译 SQL 不能于Object一起用 Java 代码 1. public PreparedStatement createPreparedStatement(Connec

12、tion con) throws SQLException 2. return con.prepareStatement(sql); 3. 1.增删改 org.springframework.jdbc.core.JdbcTemplate 类(必须指定数据源 dataSource) Java 代码 1. template.update(insert into web_person values(?,?,?),Object); 或 Java 代码 1. template.update(insert into web_person values(?,?,?),new PreparedStatemen

13、tSetter() 匿名内部类 只能访问外部最终局部变量 2. 3. public void setValues(PreparedStatement ps) throws SQLException 4. ps.setInt(index+,3); 5. ); org.springframework.jdbc.core.PreparedStatementSetter 接口 处理预编译 SQL Java 代码 1. public void setValues(PreparedStatement ps) throws SQLException 2. ps.setInt(index+,3); 3. 2.查询 JdbcTemplate.query(String,Object/PreparedStatementSetter,RowMapper/RowCallbackHandler) org.springframework.jdbc.core.RowMapper 记录映射接口 处理结果集 Java 代码 1. public Object mapRow(ResultSet rs, int arg1) thro

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号