产品展示 Dynamic News

JdbcTemplate使用方法总结

发布于2025-02-19 17:38    文章作者:含桃

1、应用JdbcTemplate的execute()办法施行SQL语句

jdbcTemplate.execute("CREATETABLEUSER(user_idinteger,namevarchar(100))");

2、倘使是UPDATE或者INSERT,能够用update()办法。

jdbcTemplate.update("INSERTINTOUSERVALUES('"+user.getId()+"','"+user.getName()+"','"+user.getSex()+"','"+user.getAge()+"')");

3、带参数的革新

jdbcTemplate.update("UPDATEUSERSETname=?WHEREuser_id=?",newObject[]{name,id});jdbcTemplate.update("INSERTINTOUSERVALUES(?,?,?,?)",newObject[]{user.getId(),user.getName(),user.getSex(),user.getAge()});

4、应用JdbcTemplate停止查问时,应用queryForXXX()等办法。查问单列大概列表。

intcount=jdbcTemplate.queryForInt("SELECTCOUNT(*)FROMUSER");Stringname=(String)jdbcTemplate.queryForObject("SELECTnameFROMUSERWHEREuser_id=?",newObject[]{id},java.lang.String.class);Listrows=jdbcTemplate.queryForList("SELECT*FROMUSER");Listrows=jdbcTemplate.queryForList("SELECT*FROMUSER");Iteratorit=rows.iterator();while(it.hasNext()){MapuserMap=(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");}

JdbcTemplate将尔们应用的JDBC的淌程启拆起去,包含了同常的逮捉、SQL的施行、查问了局的更改等等。spring大方应用Template Method形式去启拆牢固淌程的行动,XXXTemplate等种别皆是鉴于这类体例的告终。

除大批应用Template Method去启拆少少底层的操纵细节,spring也大方应用callback体例类归调相干种别的办法以供给JDBC相干种别的功用,使古代的JDBC的应用者也能分明领会spring所供给的相干启拆种别办法的应用。

JDBC的PreparedStatement

finalStringid=user.getId();finalStringname=user.getName();finalStringsex=user.getSex()+"";finalintage=user.getAge();jdbcTemplate.update("INSERTINTOUSERVALUES(?,?,?,?)",newPreparedStatementSetter(){publicvoidsetValues(PreparedStatementps)throwsSQLException{ps.setString(1,id);ps.setString(2,name);ps.setString(3,sex);ps.setInt(4,age);}});finalUseruser=newUser();jdbcTemplate.query("SELECT*FROMUSERWHEREuser_id=?",newObject[]{id},newRowCallbackHandler(){publicvoidprocessRow(ResultSetrs)throwsSQLException{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先后是有差别的,后改成RowMapperResultSetExtractorclassUserRowMapperimplementsRowMapper{publicObjectmapRow(ResultSetrs,intindex)throwsSQLException{Useruser=newUser();user.setId(rs.getString("user_id"));user.setName(rs.getString("name"));user.setSex(rs.getString("sex").charAt(0));user.setAge(rs.getInt("age"));returnuser;}}publicListfindAllByRowMapperResultReader(){Stringsql="SELECT*FROMUSER";returnjdbcTemplate.query(sql,newRowMapperResultReader(newUserRowMapper()));}

正在getUser(id)内里应用UserRowMapper

publicUsergetUser(finalStringid)throwsDataAccessException{Stringsql="SELECT*FROMUSERWHEREuser_id=?";finalObject[]params=newObject[]{id};Listlist=jdbcTemplate.query(sql,params,newRowMapperResultReader(newUserRowMapper()));return(User)list.get(0);}

推举您浏览更多相关于“ jdbc初学数据库示例JdbcTemplate ”的著作

上海莫尔丽信息科技有限公司