<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产精品综合福利专区| 日韩亚洲人成在线综合日本| 91视频免费观看| 国产午夜免费秋霞影院| 亚洲av永久无码| 免费乱码中文字幕网站| 免费无码国产V片在线观看| yy6080亚洲一级理论| 一个人看的www视频免费在线观看| 亚洲第一页综合图片自拍| japanese色国产在线看免费| 亚洲无人区一区二区三区| 国产在线精品观看免费观看| 亚洲av之男人的天堂网站| 亚洲熟女www一区二区三区| 青青草原1769久久免费播放| 亚洲AV无码专区国产乱码4SE| 久久精品中文字幕免费| 91亚洲精品麻豆| 又粗又大又猛又爽免费视频| 人人公开免费超级碰碰碰视频 | 无码人妻久久一区二区三区免费丨| 亚洲噜噜噜噜噜影院在线播放| 女人18毛片a级毛片免费视频| 色吊丝性永久免费看码| 亚洲av中文无码乱人伦在线r▽| a毛片基地免费全部视频| 爱爱帝国亚洲一区二区三区| 最近中文字幕mv免费高清视频7 | 亚洲精品国产精品乱码不卡√| 99久久免费精品视频| 亚洲精品久久久久无码AV片软件| 深夜国产福利99亚洲视频| 成人无码WWW免费视频| 精品国产日韩亚洲一区| 乱人伦中文视频在线观看免费| 亚洲AV天天做在线观看| 成人午夜18免费看| 嫩草影院在线播放www免费观看| 亚洲性色AV日韩在线观看| 亚洲色精品88色婷婷七月丁香|