<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-72  評論-63  文章-0  trackbacks-0

    import?java.sql.CallableStatement;
    import?java.sql.PreparedStatement;
    import?java.sql.ResultSet;
    import?java.sql.SQLException;
    import?java.sql.Types;
    import?java.util.List;

    import?org.springframework.jdbc.core.BatchPreparedStatementSetter;
    import?org.springframework.jdbc.core.CallableStatementCallback;
    import?org.springframework.jdbc.core.JdbcTemplate;
    import?org.springframework.jdbc.core.RowCallbackHandler;
    import?org.springframework.jdbc.core.RowMapper;
    import?org.springframework.jdbc.core.RowMapperResultReader;

    public ? class ?SpringJDBCDAO? {

    ????
    private ? class ?PersonRowMapper?implements?RowMapper? {
    ????????
    public ?Object?mapRow(ResultSet?rs,? int ?index)?throws?SQLException? {
    ????????????Person?person?
    = ? new ?Person();
    ????????????person.setId(
    new ?Integer(rs.getInt( " id " )));
    ????????????person.setFirstName(rs.getString(
    " first_name " ));
    ????????????person.setLastName(rs.getString(
    " last_name " ));
    ????????????
    return ?person;
    ????????}

    ????}


    ????
    private ?JdbcTemplate?jdbcTemplate;

    ????
    public ? void ?processStoredProcedure()? {
    ????????CallableStatementCallback?cb?
    = ? new ?CallableStatementCallback()? {
    ????????????
    public ?Object?doInCallableStatement(CallableStatement?cs)
    ????????????????????throws?SQLException?
    {
    ????????????????cs.execute();
    ????????????????
    return ? null ;
    ????????????}

    ????????}
    ;
    ????????jdbcTemplate.execute(
    " {?ARCHIVE_STUDENTS?} " ,?cb);
    ????}


    ????
    public ?List?getAllPersons()? {
    ????????String?sql?
    = ? " select?id,?first_name,?last_name?from?person " ;
    ????????
    return ?jdbcTemplate.query(sql,? new ?RowMapperResultReader(
    ????????????????
    new ?PersonRowMapper()));
    ????}


    ????
    public ?String?getLastNameForId(Integer?id)? {
    ????????String?sql?
    = ? " select?last_name?from?person?where?id?=?? " ;
    ????????
    return ?(String)?jdbcTemplate.queryForObject(sql,? new ?Object[]? {?id?} ,
    ????????????????String.
    class );
    ????}


    ????
    public ? int ?getNumberOfPersons()? {
    ????????
    return ?jdbcTemplate.queryForInt( " select?count(*)?from?person " );
    ????}


    ????
    public ?Person?getPerson1(final?Integer?id)? {
    ????????String?sql?
    = ? " select?id,?first_name,?last_name?from?person??where?id?=?? " ;
    ????????final?Person?person?
    = ? new ?Person();
    ????????final?Object[]?
    params ? = ? new ?Object[]? {?id?} ;
    ????????jdbcTemplate.query(sql,?
    params ,? new ?RowCallbackHandler()? {
    ????????????
    public ? void ?processRow(ResultSet?rs)?throws?SQLException? {
    ????????????????person.setId(
    new ?Integer(rs.getInt( " id " )));
    ????????????????person.setFirstName(rs.getString(
    " first_name " ));
    ????????????????person.setFirstName(rs.getString(
    " last_name " ));
    ????????????}

    ????????}
    );
    ????????
    return ?person;
    ????}


    ????
    public ?Person?getPerson2(final?Integer?id)? {
    ????????String?sql?
    = ? " select?id,?first_name,?last_name?from?person??where?id?=?? " ;
    ????????final?Person?person?
    = ? new ?Person();
    ????????final?Object[]?
    params ? = ? new ?Object[]? {?id?} ;
    ????????List?list?
    = ?jdbcTemplate.query(sql,? params ,? new ?RowMapperResultReader(
    ????????????????
    new ?PersonRowMapper()));
    ????????
    return ?(Person)?list. get ( 0 );
    ????}


    ????
    public ? int ?insertPerson(Person?person)? {
    ????????String?sql?
    = ? " insert?into?person?(id,?firstName,?lastName)??values?(?,??,??) " ;
    ????????Object[]?
    params ? = ? new ?Object[]? {?person.getId(),?person.getFirstName(),
    ????????????????person.getFirstName()?}
    ;
    ????????
    int []?types? = ? new ? int []? {?Types.INTEGER,?Types.VARCHAR,?Types.VARCHAR?} ;
    ????????JdbcTemplate?jdbcTemplate?
    = ? null ;
    ????????
    return ?jdbcTemplate.update(sql,? params ,?types);
    ????}


    ????
    public ? int []?updatePersons(final?List?persons)? {
    ????????String?sql?
    = ? " insert?into?person?(id,?firstName,?lastName)?values?(?,??,??) " ;
    ????????BatchPreparedStatementSetter?setter?
    = ? null ;
    ????????setter?
    = ? new ?BatchPreparedStatementSetter()? {
    ????????????
    public ? int ?getBatchSize()? {
    ????????????????
    return ?persons.size();
    ????????????}


    ????????????
    public ? void ?setValues(PreparedStatement?ps,? int ?index)
    ????????????????????throws?SQLException?
    {
    ????????????????Person?person?
    = ?(Person)?persons. get (index);
    ????????????????ps.setInt(
    0 ,?person.getId().intValue());
    ????????????????ps.setString(
    1 ,?person.getFirstName());
    ????????????????ps.setString(
    2 ,?person.getLastName());
    ????????????}

    ????????}
    ;
    ????????
    return ?jdbcTemplate.batchUpdate(sql,?setter);
    ????}

    }

    ============

    import?java.sql.ResultSet;
    import?java.sql.SQLException;
    import?java.sql.Types;

    import?javax.sql.DataSource;

    import?org.springframework.jdbc.core.SqlParameter;
    import?org.springframework.jdbc.
    object .MappingSqlQuery;
    import?org.springframework.jdbc.
    object .SqlUpdate;

    public ? class ?SpringJDBCDAOWithObject? {
    ????
    class ?InsertPerson?extends?SqlUpdate? {
    ????????
    public ?InsertPerson(DataSource?ds)? {
    ????????????setDataSource(ds);
    ????????????setSql(
    " insert?into?person?(id,?firstName,?lastName)?values?(?,??,??) " );
    ????????????declareParameter(
    new ?SqlParameter(Types.NUMERIC));
    ????????????declareParameter(
    new ?SqlParameter(Types.VARCHAR));
    ????????????declareParameter(
    new ?SqlParameter(Types.VARCHAR));
    ????????????compile();
    ????????}


    ????????
    public ? int ?insert(Person?person)? {
    ????????????Object[]?
    params ? = ? new ?Object[]? {?person.getId(),
    ????????????????????person.getFirstName(),?person.getLastName()?}
    ;
    ????????????
    return ?update( params );
    ????????}

    ????}


    ????
    private ? class ?PersonByIdQuery?extends?MappingSqlQuery? {
    ????????
    public ?PersonByIdQuery(DataSource?ds)? {
    ????????????super(ds,?
    " select?id,?first_name,?last_name?from?person? "
    ????????????????????
    + ? " where?id?=?? " );
    ????????????declareParameter(
    new ?SqlParameter( " id " ,?Types.INTEGER));
    ????????????compile();
    ????????}


    ????????
    public ?Object?mapRow(ResultSet?rs,? int ?rowNumber)?throws?SQLException? {
    ????????????Person?person?
    = ? new ?Person();
    ????????????person.setId((Integer)?rs.getObject(
    " id " ));
    ????????????person.setFirstName(rs.getString(
    " first_name " ));
    ????????????person.setLastName(rs.getString(
    " last_name " ));
    ????????????
    return ?person;
    ????????}

    ????}


    ????
    private ?InsertPerson?insertPerson;
    ????
    ????
    private ?PersonByIdQuery?personByIdQuery;
    ??
    ????
    public ?Person?getPerson(Integer?id)? {
    ????Object[]?
    params ? = ? new ?Object[]? {?id?} ;
    ????
    return ?(Person)?personByIdQuery.execute( params ). get ( 0 );
    ????}


    ????
    public ? int ?insertPerson(Person?person)? {
    ????????
    return ?insertPerson.insert(person);
    ????}

    }

    posted on 2006-05-01 23:59 船長 閱讀(728) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲日本在线观看视频| 午夜亚洲av永久无码精品| 亚洲av中文无码乱人伦在线r▽ | 午夜两性色视频免费网站| 亚洲午夜精品国产电影在线观看| 亚洲一区免费观看| 亚洲视频一区二区三区| 91黑丝国产线观看免费| 亚洲一卡2卡4卡5卡6卡在线99| 美女视频黄a视频全免费| 亚洲色欲色欲www在线播放| 青青青青青青久久久免费观看| 亚洲AV一区二区三区四区| 免费国产在线观看| 久青草国产免费观看| 亚洲韩国精品无码一区二区三区| 日本视频免费高清一本18| 亚洲精品福利网站| 大学生高清一级毛片免费| 另类小说亚洲色图| 亚洲精品制服丝袜四区| 91精品全国免费观看含羞草| 亚洲一级毛片中文字幕| 又粗又硬又黄又爽的免费视频| 91av免费在线视频| 亚洲高清资源在线观看| 亚洲高清中文字幕免费| 免费v片在线观看| 久久免费看少妇高潮V片特黄| 亚洲av永久无码精品三区在线4| 国产v片免费播放| 成人性生交大片免费看中文| 亚洲国产夜色在线观看| 亚洲福利在线播放| 99久久99久久免费精品小说 | 高潮毛片无遮挡高清免费视频| 亚洲日本一区二区三区在线| 国产成人精品免费视频网页大全| 国产成人 亚洲欧洲| 亚洲国产精品久久久久| 国产免费怕怕免费视频观看|